Java 在程序'中展开通配符;s的论点

Java 在程序'中展开通配符;s的论点,java,windows,batch-file,wildcard,Java,Windows,Batch File,Wildcard,我有一个试图启动java应用程序的批处理文件: java -jar myProgram*.jar 我希望批处理文件评估通配符*,以便在不考虑版本号的情况下查找程序。因此,它应该找到myProgram1.jar或myProgram438.jar并运行它 但此批处理文件产生: Error: Unable to access jarfile myProgram*.jar shell似乎没有处理java的参数。在传递参数之前,是否有方法扩展参数中的通配符?我知道Bash有可以做到这一点的backti

我有一个试图启动java应用程序的批处理文件:

java -jar myProgram*.jar
我希望批处理文件评估通配符*,以便在不考虑版本号的情况下查找程序。因此,它应该找到myProgram1.jar或myProgram438.jar并运行它

但此批处理文件产生:

Error: Unable to access jarfile myProgram*.jar

shell似乎没有处理java的参数。在传递参数之前,是否有方法扩展参数中的通配符?我知道Bash有可以做到这一点的backtics。是否可以在windows中执行此操作?

如果您必须指定的文件夹中有更多要启动的程序*.jar。脚本将启动“上次找到”:


您不需要使用“Cygwin”来执行此操作。

如果您必须指定的文件夹中有更多的程序*.jar,则需要启动该程序。脚本将启动“上次找到”:

你不需要“Cygwin”来做这个

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