我的要求是从执行批处理文件的位置获取两个级别的路径: 假设我的批处理文件位于: D:\ testfolder \ system \ tools \ configuration task \ conf.bat
我在批处理文件中使用以下代码:
SET BATCH_FILE_DIR=%~dp0
echo %BATCH_FILE_DIR%
SET PATH_TWO_LEVELS_UP=?????
我尝试在网上搜索,但找不到任何有用的东西。
对我来说,有些东西应该取代?????
,
PATH_TWO_LEVELS_UP到D:\ testfolder \ system \
此外,它应该适用于UNC路径。假设在以下位置可用相同的批处理文件: \\ pc-dummy \ testfolder \ system \ tools \ configuration task \ conf.bat
如果在资源管理器中打开上述位置并双击批处理文件, 变量PATH_TWO_LEVELS_UP应设置为\\ pc-dummy \ testfolder \ system \
应该代替?????
代替本地驱动器以及UNC路径
答案 0 :(得分:5)
for %%a in ("%~dp0..\..") do set "PATH_TWO_LEVELS_UP=%%~fa"
echo %PATH_TWO_LEVELS_UP%
使用for
命令获取对所需文件夹的引用,并将变量设置为引用文件夹的完整路径