我创建了一个批处理文件来运行带有一些选项的可执行jar。批处理中的代码是
java -jar target/%jar% %1
当我运行.bat文件时,jar会按预期执行,并且JAVA程序会因缺少参数而生成相应的警告。不幸的是,当我在批处理上删除文件时,我得到了
Error: Unable to access jarfile target/someprogram.jar
当我在.bat本身中指定输入文件时,不会发生错误,只能使用拖放操作。我还尝试在执行之前回显命令和参数,即使使用拖放也一切都按预期进行。
任何想法如何解决这个问题将不胜感激。
答案 0 :(得分:2)
我怀疑“当前路径”是相对于被拖动的文件而不是蝙蝠。
可能有办法获得蝙蝠的屁股......
证实:
set PWD=%~dp0
echo %PWD%
pause
将此保存为whatever.bat,然后将文件从另一个目录拖放到该目录中。您将看到操作目录是拖动文件的目录,但%~dp0将为您提供蝙蝠所在的目录。