Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在bat上运行带有丢弃文件的jar_Java_Batch File_Jar - Fatal编程技术网

Java 在bat上运行带有丢弃文件的jar

Java 在bat上运行带有丢弃文件的jar,java,batch-file,jar,Java,Batch File,Jar,我想在.bat文件上拖放一个文件。在我删除它之后,我想运行一个jar文件,将删除的文件路径作为输入。如何使用相对路径运行jar文件?运行的dir my.bat文件是我的用户dir,而不是它所在的dir goal: cmd /c java -jar myjar.jar -f %1 current: cmd /c java -jar c:\somewhere\myjar.jar -f %1 关键是,这个程序(jar+bat)是一个小型自动部署过程的一部分,对于每个用户来说,可能有一个不同的路径来运

我想在.bat文件上拖放一个文件。在我删除它之后,我想运行一个jar文件,将删除的文件路径作为输入。如何使用相对路径运行jar文件?运行的dir my.bat文件是我的用户dir,而不是它所在的dir

goal: cmd /c java -jar myjar.jar -f %1
current: cmd /c java -jar c:\somewhere\myjar.jar -f %1

关键是,这个程序(jar+bat)是一个小型自动部署过程的一部分,对于每个用户来说,可能有一个不同的路径来运行jar。

也许这是可行的,它将当前目录更改为批处理文件的路径

pushd "%~dp0"
cmd /c java -jar myjar.jar -f "%~1"

我知道myjar.jar是相对的,但是相对于什么呢?到拖放批次或相对于拖放批次的%1路径。删除的文件会导致在批处理脚本末尾隐含绝对路径,或者应该显式发出该文件以恢复目录堆栈状态?谢谢,这非常有效:)@Andriy当我再次启动脚本时,它会在我的user dir上下文中运行again@AndriyM:POPD用于要求的正常路径还原,或者setlocal也可以解决它,但不是在任务结束时batch@mephi,@jeb:我明白了,这不是强制性的,在这种情况下也不需要。谢谢