I need to find the name of the parent directory for a file in DOS
for ex.
Suppose this is the directory
C:\test\pack\a.txt
I have a script which asks me the file name
C:\\>getname.bat
enter file name: c:\test\pack\a.txt
now the script should return just the parent name of the file.
pack
and NOT the entire parent path to the file.
c:\test\pack
解决方案
see this question
@echo OFF
set mydir="%~p1"
SET mydir=%mydir:\=;%
for /F "tokens=* delims=;" %%i IN (%mydir%) DO call :LAST_FOLDER %%i
goto :EOF
:LAST_FOLDER
if "%1"=="" (
@echo %LAST%
goto :EOF
)
set LAST=%1
SHIFT
goto :LAST_FOLDER