批处理文件如何接受Java的参数?

时间:2013-12-09 04:42:14

标签: java windows batch-file command-line

我正在尝试编写一个可以调用的批处理文件(run.bat):

run.bat "whatever.log"

但在幕后,批处理文件将参数("whatever.log")传递给以下命令:

java -cp "fizz.jar;a.jar;b.jar;c.jar;d.jar" com.myapp.FizzDriver "whatever.log"

同样,如果您运行:run.bat "blah.txt",那么该批处理文件将执行:

java -cp "fizz.jar;a.jar;b.jar;c.jar;d.jar" com.myapp.FizzDriver "blah.txt"

到目前为止,run.bat的最佳尝试是:

@ECHO OFF
%JAVA_HOME%\bin\java java -cp "fizz.jar;a.jar;b.jar;c.jar;d.jar" com.myapp.FizzDriver ???

但我不确定如何参数化参数(???)。我也不确定批处理文件是否遗漏了什么,或者我写的方式是不正确的。想法?提前谢谢!

2 个答案:

答案 0 :(得分:2)

你只需要输入%1,但是你有另一个问题。使用'java -jar'时,将忽略'-cp'参数:CLASSPATH仅从jar清单中获取。

答案 1 :(得分:1)

要传递一个命令行参数,请使用%1。如果您需要传递多个,则可以使用%1 %2等,或使用%*一次传递所有这些内容。