使用批处理脚本中的参数调用.jar,并在路径

时间:2017-12-18 19:21:58

标签: batch-file cmd jar

尝试使用批处理脚本使用参数在路径中使用通配符调用-jar。如果我手动将它输入CMD,我可以这样做:

for /d %a in ("C:\Program Files (x86)\Java\*") do "%~fa\bin\java.exe" -jar C:\DTS\BMC\3.7.1\squirrel-sql-3.7.1-standard.jar C:\DTS\BMC\3.7.1\silent3.7.xml

我知道为什么在批处理脚本中不起作用,我需要添加额外的'%',如下所示:

for /d %%a in ("C:\Program Files (x86)\Java\*") do "%%~fa\bin\java.exe" -jar C:\DTS\BMC\3.7.1\squirrel-sql-3.7.1-standard.jar C:\DTS\BMC\3.7.1\silent3.7.xml

问题是,当我尝试时,CMD线的输出省略了开头'/ d'中的d。不知道为什么会这样,不确定我需要改变什么。修订后的脚本的输出如下所示:

for / %a in ("C:\Program Files (x86)\Java\*") do "%~fa\bin\java.exe" -jar C:\DTS\BMC\3.7.1\squirrel-sql-3.7.1-standard.jar C:\DTS\BMC\3.7.1\silent3.7.xml

当我手动输入命令(单个'%')时,我得到的输出如下:

C:\windows\system32>for /d %a in ("C:\Program Files (x86)\Java\*") do "%~fa\bin\java.exe" -jar C:\DTS\BMC\3.7.1\squirrel-sql-3.7.1-standard.jar C:\DTS\BMC\3.7.1\silent3.7.xml

C:\windows\system32>"C:\Program Files (x86)\Java\jre1.8.0_152\bin\java.exe" -jar C:\DTS\BMC\3.7.1\squirrel-sql-3.7.1-standard.jar C:\DTS\BMC\3.7.1\silent3.7.xml

[ Starting automated installation ]
Read pack list from xml definition.
Try to add to selection [Name: Base and Index: 0]
Try to add to selection [Name: Standard and Index: 1]
Try to remove from selection [Name: Optional Plugin - Greenplum and     Index: 2]
Try to remove from selection [Name: Optional Plugin - WIKI table configurations

1 个答案:

答案 0 :(得分:0)

最终放弃了这个,能够通过powershell使用此命令使其工作:

start-process "C:\Program Files (x86)\Java\*\bin\java.exe" -Argumentlist '-jar',  'C:\DTS\BMC\3.7.1\squirrel-sql-3.7.1-standard.jar', 'C:\DTS\BMC\3.7.1\silent3.7.xml'