Как получить путь из переменной - PullRequest
0 голосов
/ 03 июня 2010

После Как получить путь к папке из пути к файлу с CMD

Я хочу убрать путь (без имени файла) из переменной. следуя логике методов, описанных выше, я хотел бы использовать пакетный сильфон, который не работает. Любой берущий? возможно

set cpp="C:\temp\lib.dll"
echo %cpp% 
"C:\temp\lib.dll"
echo %~dpcpp
"C:\temp\" > doesn't work

Ответы [ 2 ]

1 голос
/ 03 июня 2010

Вы можете использовать команду for, например:

set cpp="C:\temp\lib.dll" 

:: Print the full path and file name:
echo %cpp%  

:: Print just the path:
for %%P in (%cpp%) do echo %%~dpP
0 голосов
/ 03 июня 2010

Протестировано: demo.bat

@echo off
echo "Setting cpp"
set cpp="C:\temp\lib.dll"

echo "Calling JustGetPath"
call :JustGetPath %cpp%

echo "Returning result"
echo %_RESULT%

echo "Quitting"
goto :eof

:JustGetPath
echo "  +JustGetPath( %1 )"
set _RESULT=%~dp1

echo "  -JustGetPath()"
GOTO :eof

:eof

При запуске выдает следующее:

"Setting cpp"
"Calling JustGetPath"
"  +JustGetPath( C:\temp\lib.dll )"
"  -JustGetPath()"
"Returning result"
C:\temp\
"Quitting"

См. Также: http://ss64.com/nt/call.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...