我在
Windows上有一个执行
procdump操作的bat文件.批处理文件的问题是我需要在执行作业之前先cd到批处理文件目录,否则脚本将无效.
如何更改到当前批处理文件目录?
我在procdump.bat中尝试了以下代码:
cd "%~dp" procdump -h devenv.exe mydump.txt
但它失败了,错误信息是:
The following usage of the path
operator in batch-parameter
substitution is invalid: %~dp”For valid formats type CALL /? or FOR
/?
编辑:The answer provided正在工作,但只有一个问题:如果我的当前目录不同于批处理文件目录,那么我会得到一个“系统找不到指定的路径”.有人有什么想法吗?
好的,我想我发现
here你的意思是%~dp.
我想你真正想做的是:
cd /D "%~dp0"
(!)但请注意,当您尝试执行批处理时,当当前目录位于另一个驱动器上时,这仍然不会给您正确的行为,因为cd不会更改活动驱动器.
编辑:显然(感谢@Yoopergeek)您可以将/ D参数添加到cd命令,让它也更改活动的驱动器.