在程序的参数中展开通配符

时间:2013-04-06 21:01:08

标签: java windows batch-file wildcard

我有批处理文件尝试启动java应用程序:

java -jar myProgram*.jar

我希望批处理文件评估通配符*,以便无论版本号如何都能找到程序。所以它应该找到myProgram1.jar或myProgram438.jar并运行它。

但是这个批处理文件产生:

Error: Unable to access jarfile myProgram*.jar

看起来java的参数没有被shell处理。有没有办法在传递参数之前扩展参数中的通配符?我知道Bash有可以做到这一点的背景。是否可以在Windows中进行?

1 个答案:

答案 0 :(得分:3)

如果您要指定的文件夹中有更多程序* .jar,您要启动它。该脚本启动“最后找到”:

@echo off&setlocal
for %%i in (myProgram*.jar) do set "jarProg=%%~i"
java -jar %jarProg%

你不需要“Cygwin”。