我的批处理脚本位于以下目录中:
\\test\public\windows\scripts\32\test.bat
我正在尝试获取此文件夹的路径:\ test \ public \ windows \ logs我尝试使用%~dp0
来获取脚本的路径,并且我尝试过:
SET REL_PATH=..\..\
事实是它没有显示此文件夹。
SET REL_PATH=..\..\
路径根据您的需求指向路径,要验证路径来自何处,请制作一个
echo %CD%
它将告诉您系统正在寻找的路径。
然后设置从%CD%
到脚本路径的相对路径。
如果这样做后被卡住,请发表评论。
例如:
echo %CD%
给予C:\windows\system32
并且您想在c:\test\public\windows\scripts\32\test.bat
执行批处理文件>
您将需要做
SET REL_PATH=%CD%\..\..\test\public\windows\scripts\32\
要移至此路径,请执行以下操作:
cd /d %REL_PATH%
要解决UNC路径,请执行PUSHD和POPD:
@echo off pushd \\test\public\windows\scripts\32\ REM do your work call test.bat popd
参考:How to run batch file from network share without "UNC path are not supported" message?
使用网络驱动器时,请使用PUSHD
命令。这会将未使用的驱动器号分配给UNC路径,因此您可以像平常一样浏览它。然后您可以使用POPD
释放它。