假设我希望从批处理脚本本身中获取批处理脚本的绝对路径,但不要在其后加反斜杠。通常,我这样做:
SET BuildDir=%~dp0
SET BuildDir=%BuildDir:~0,-1%
第一条语句获取带有尾部反斜杠的路径,第二行删除最后一个字符,即反斜杠。有没有办法将这两个语句合并为一行代码?
最佳答案
对于许多软件,添加尾随点在语义上是等效的,而不是除去尾随的反斜杠。
C:\ Windows 等效于 C:\ Windows \。
echo %dp0
>C:\Windows\
echo %dp0.
>C:\Windows\.
例如,robocopy仅接受没有尾随空格的目录。
这是错误的:
robocopy "C:\myDir" %~dp0
这是成功的:
robocopy "C:\myDir" %~dp0.