我的批处理脚本位于以下目录中:
\\test\public\windows\scripts\32\test.bat
我试图获取此文件夹的路径:\ test \ public \ windows \ logs
我尝试使用%~dp0
来获取脚本的路径,并且我已尝试过:
SET REL_PATH=..\..\
事情是它没有向我显示这个文件夹。
答案 0 :(得分:2)
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\
::do your work
test.bat
popd
参考:How to run batch file from network share without "UNC path are not supported" message?
答案 1 :(得分:0)
使用网络驱动器时使用PUSHD
命令。这将为UNC路径分配一个未使用的驱动器号,以便您可以像平常一样进行导航。然后,您可以使用POPD
发布它。
例如:
@ECHO OFF
PUSHD "\\test\public\windows\scripts\32"
REM This will be \\test\public\windows
DIR ".\..\..\"
POPD