批量获取路径的最简单方法是什么?
从其他“建议的问题”我现在知道~dp0
,但似乎只适用于当前的工作目录?
我希望从环境变量中获取子字符串。具体来说,一切都是最后的\
。
在bash中,我可以使用newpath=${fullpath%\\*}
执行此操作,是否存在等效的简单批处理构造?
答案 0 :(得分:1)
从我如何阅读你的问题,你想要指定路径的父目录。
根据RGuggisberg的回答,你可以做这样的事情。
@echo off
call :Parent "%~dp0"
exit /b 0
:Parent <Path>
pushd "%~f1\.." || exit /b 1
echo %CD%
popd
exit /b 0
答案 1 :(得分:1)
这是一种从环境变量中消除尾部反斜杠的方法:
@echo off
set "var=c:\program files\rock & roll\"
for /f "delims=" %%a in ("%var%\.") do echo set "var=%%~fa"
pause
答案 2 :(得分:0)
下面是一种方法(假设变量fullpath包含路径)。无论是否有尾随符号都可以。另一种方法是修剪最后一个字符,但这假设你总是有一个尾随\,你可能不会???当然,您可能希望将%cd%存储在其他变量中而不是回显它。
pushd %fullpath%
echo.%cd%
popd