Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.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 通过路径通过批处理文件打开Jar_Java_Batch File_Jar_Cmd_Path - Fatal编程技术网

Java 通过路径通过批处理文件打开Jar

Java 通过路径通过批处理文件打开Jar,java,batch-file,jar,cmd,path,Java,Batch File,Jar,Cmd,Path,我制作了一个通过jar执行命令的批处理文件: @java -jar commands.jar %* 这是文件树: C:\ Commands\ commands.bat commands.jar 我将PATH变量设置为“C:\Commands\”,这样我就可以从PC上的任何地方访问命令。我可以成功运行批处理文件,但由于某些原因它无法打开jar。我打字的时候 命令 或 命令帮助 上面说 错误:无法访问jarfile command

我制作了一个通过jar执行命令的批处理文件:

@java -jar commands.jar %*
这是文件树:

C:\
     Commands\
              commands.bat
              commands.jar
我将PATH变量设置为“C:\Commands\”,这样我就可以从PC上的任何地方访问命令。我可以成功运行批处理文件,但由于某些原因它无法打开jar。我打字的时候

命令

命令帮助

上面说

错误:无法访问jarfile commands.jar


我试着在jar名称周围使用引号,我试着移动jar。。。什么都不管用…

%~dp0
给出了bat文件路径

@java -jar %~dp0commands.jar %*
请参阅
call/?
以获取帮助(即使我们没有使用
call


通过使用
ftype
assoc
,并使用
setx
编辑变量
pathext
添加
jar
文件,您只需键入jar的名称,就可以在不需要批处理文件的情况下运行它

您在哪个目录下运行该命令?您重写了PATH变量,该变量现在不再包含java.exe的路径@我在路径中添加了C:\Commands,但没有完全覆盖它。:)这正是我需要的!谢谢我应该想到这一点,这是简单的逻辑。如果我在运行批处理,比如说。。。“C:\Users\Admin\Dekstop”当.jar仍在commands文件夹中时,它将无法工作。