Windows批处理脚本问题-引用包含空格的变量
这就是我的问题: 我想使用%cd%,以便用户可以在任何地方执行脚本,但如果%cd%包含空格,则脚本将失败(不考虑引号)。如果我硬编码路径,它将使用引号运行,但是如果它是一个变量,它将失败 失败:(如果%cd%包含空格) %cd%\Testing.bat 作品: “C:\Program Files\Testing.bat”Windows批处理脚本问题-引用包含空格的变量,windows,variables,batch-file,cmd,spaces,Windows,Variables,Batch File,Cmd,Spaces,这就是我的问题: 我想使用%cd%,以便用户可以在任何地方执行脚本,但如果%cd%包含空格,则脚本将失败(不考虑引号)。如果我硬编码路径,它将使用引号运行,但是如果它是一个变量,它将失败 失败:(如果%cd%包含空格) %cd%\Testing.bat 作品: “C:\Program Files\Testing.bat” 有什么想法吗?%CD%不是正确的方法,因为它指示调用脚本时用户所在的目录,而不是脚本所在的目录 使用%~dp0从%0提取驱动器和路径信息: REM C:\Program Fil
有什么想法吗?
%CD%
不是正确的方法,因为它指示调用脚本时用户所在的目录,而不是脚本所在的目录
使用%~dp0
从%0
提取驱动器和路径信息:
REM C:\Program Files\test_caller.bat
@echo I am the caller and I reside in: "%~dp0"
@"%~dp0\test.bat"
REM C:\Program Files\test.bat
@echo Yippeee!
C:\>"\Program Files\test_caller.bat"
I am the caller and I reside in: "C:\Program Files\"
Yippeee!
C:\>e:
E:\>"C:\Program Files\test_caller.bat"
I am the caller and I reside in: "C:\Program Files\"
Yippeee!