我在目录foo.bar
中有一个批d:\progs\
在这个目录中,我有一个名为bar.jar
的jar文件
我已将d:\progs\
添加到我的Path环境变量中。
现在我做cd c:\anotherdir
。
在这个新目录中我做foo -v
。但是我收到以下错误:
Unable to access jarfile bar.jar
我怎样才能获得foo.bar
的当前路径,因为%CD%返回c:\anotherdir
?
答案 0 :(得分:2)
您正在寻找的代码段是%~dp0
。它会为您提供path of the currently running batch job。
这也有一个优点,允许您从任何位置运行命令,而在批处理脚本开头捕获%CD%
将捕获您启动批处理脚本时所在的目录。 (如果这是您想要做的事情,那么,这将是Richard所建议的首选解决方案。)
答案 1 :(得分:0)
我已将d:\ progs \添加到我的Path环境变量中。
这只影响启动程序,它对传递给程序的参数(例如数据文件和文档)没有帮助。
我怎样才能获得foo.bar的当前路径,因为%CD%返回c:\ anotherdir?
使用%CD%
捕获当前文件夹,从而在更改目录之前构建数据文件的路径。