我正在尝试编写一个可以调用的批处理文件(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 ???
但我不确定如何参数化参数(???)。我也不确定批处理文件是否遗漏了什么,或者我写的方式是不正确的。想法?提前谢谢!
答案 0 :(得分:2)
你只需要输入%1,但是你有另一个问题。使用'java -jar'时,将忽略'-cp'参数:CLASSPATH仅从jar清单中获取。
答案 1 :(得分:1)
要传递一个命令行参数,请使用%1
。如果您需要传递多个,则可以使用%1 %2
等,或使用%*
一次传递所有这些内容。