在批处理文件中获取两个级别的路径

The*_*ing 1 windows cmd batch-file

我的要求是从批处理文件的执行位置获取两个级别的路径:假设我的批处理文件位于:D:\ testfolder\system\tools\configuration task\conf.bat

我在批处理文件中使用以下代码:

SET BATCH_FILE_DIR=%~dp0
echo %BATCH_FILE_DIR%
SET PATH_TWO_LEVELS_UP=?????
Run Code Online (Sandbox Code Playgroud)

我尝试在网上搜索,但找不到任何有用的东西.对我来说,应该替换?????哪些东西,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路径起作用

MC *_* ND 5

for %%a in ("%~dp0..\..") do set "PATH_TWO_LEVELS_UP=%%~fa"
echo %PATH_TWO_LEVELS_UP%
Run Code Online (Sandbox Code Playgroud)

使用for命令获取对所需文件夹的引用,并将该变量设置为引用文件夹的完整路径