无法通过拖放批处理文件来访问jar文件

时间:2013-11-08 14:47:04

标签: java windows batch-file

我创建了一个批处理文件来运行带有一些选项的可执行jar。批处理中的代码是

java -jar target/%jar% %1

当我运行.bat文件时,jar会按预期执行,并且JAVA程序会因缺少参数而生成相应的警告。不幸的是,当我在批处理上删除文件时,我得到了

Error: Unable to access jarfile target/someprogram.jar

当我在.bat本身中指定输入文件时,不会发生错误,只能使用拖放操作。我还尝试在执行之前回显命令和参数,即使使用拖放也一切都按预期进行。

任何想法如何解决这个问题将不胜感激。

1 个答案:

答案 0 :(得分:2)

我怀疑“当前路径”是相对于被拖动的文件而不是蝙蝠。

可能有办法获得蝙蝠的屁股......

证实:

set PWD=%~dp0
echo %PWD%
pause

将此保存为whatever.bat,然后将文件从另一个目录拖放到该目录中。您将看到操作目录是拖动文件的目录,但%~dp0将为您提供蝙蝠所在的目录。