使用批处理脚本中的参数调用.jar,并在路径中使用通配符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用批处理脚本中的参数调用.jar,并在路径中使用通配符相关的知识,希望对你有一定的参考价值。
尝试使用批处理脚本使用参数在路径中使用通配符调用-jar。如果我手动将其输入CMD,我可以这样做:
for /d %a in ("C:Program Files (x86)Java*") do "%~fainjava.exe" -jar C:DTSBMC3.7.1squirrel-sql-3.7.1-standard.jar C:DTSBMC3.7.1silent3.7.xml
我知道为什么在批处理脚本中不起作用,我需要添加额外的'%',如下所示:
for /d %%a in ("C:Program Files (x86)Java*") do "%%~fainjava.exe" -jar C:DTSBMC3.7.1squirrel-sql-3.7.1-standard.jar C:DTSBMC3.7.1silent3.7.xml
问题是,当我尝试时,CMD线的输出省略了开头'/ d'中的d。不知道为什么会这样,不确定我需要改变什么。修订后的脚本的输出如下所示:
for / %a in ("C:Program Files (x86)Java*") do "%~fainjava.exe" -jar C:DTSBMC3.7.1squirrel-sql-3.7.1-standard.jar C:DTSBMC3.7.1silent3.7.xml
当我手动输入命令(单个'%')时,我得到如下所示的输出:
C:windowssystem32>for /d %a in ("C:Program Files (x86)Java*") do "%~fainjava.exe" -jar C:DTSBMC3.7.1squirrel-sql-3.7.1-standard.jar C:DTSBMC3.7.1silent3.7.xml
C:windowssystem32>"C:Program Files (x86)Javajre1.8.0_152injava.exe" -jar C:DTSBMC3.7.1squirrel-sql-3.7.1-standard.jar C:DTSBMC3.7.1silent3.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
答案
最终放弃了这个,能够通过powershell使用此命令使其工作:
start-process "C:Program Files (x86)Java*injava.exe" -Argumentlist '-jar', 'C:DTSBMC3.7.1squirrel-sql-3.7.1-standard.jar', 'C:DTSBMC3.7.1silent3.7.xml'
以上是关于使用批处理脚本中的参数调用.jar,并在路径中使用通配符的主要内容,如果未能解决你的问题,请参考以下文章
使用 Visual Basic 脚本和批处理的 Java 作为 Windows 服务