java - 扩展程序参数中的通配符

标签 java windows batch-file wildcard

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

java -jar myProgram*.jar

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

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

Error: Unable to access jarfile myProgram*.jar

看起来 java 的参数没有被 shell 处理。有没有办法在传递参数之前扩展参数中的通配符?我知道 Bash 有可以做到这一点的 backtics。在windows下可以实现吗?

最佳答案

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

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

为此,您不需要“Cygwin”。

关于java - 扩展程序参数中的通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15855974/

相关文章:

java - 如何通过java获取svn/cvs日志记录?

c - 哪些Windows版本不支持unicode API调用?

windows - 如何删除注册表中的多个值

linux - CentOS | 命令未找到.bat 文件

java - 从 SQLite 从游标读取数据时发生致命异常

java - 如何将数据从服务器(REST api 响应)推送/发送到 jsp/html 表单

javascript - 使用 Javascript、 Node 自动化 UI 测试 - 启动和停止 Web 服务器

windows - cmdkey 删除名称上带有破折号和空格的凭据 "-"

java - 用于测试来自数据库的数据的 JUnit 测试用例是最新的而不是过时的

windows - 如何在 Windows 上以另一个用户身份生成进程?