Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
557 views
in Technique[技术] by (71.8m points)

windows - Get parent directory name for a particular file using DOS Batch scripting

I need to find the name of the parent directory for a file in DOS

for ex.

Suppose this is the directory

C:estpacka.txt

I have a script which asks me the file name

C:\>getname.bat     
enter file name: c:estpacka.txt   

now the script should return just the parent name of the file.

pack           

and NOT the entire parent path to the file.

c:estpack   
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

It can be very simple to get the parent folder of the batch file:

@echo off
for %%a in ("%~dp0.") do set "parent=%%~nxa"
echo %parent%

And for a parent of a file path as per the question:

@echo off
for %%a in ("c:estpacka.txt") do for %%b in ("%%~dpa.") do set "parent=%%~nxb"
echo %parent%

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...