如何在批处理可执行文件中使用tab来完成一行?

时间:2015-08-26 15:52:35

标签: java batch-file jar

我正在为.jar文件编写一个启动程序脚本,因为由于某些原因,我的许多用户在双击时都会运行.jar,即使使用正确的jre和javaw.exe作为其默认软件启动器。 jar只会以java -jar foobar.jar打开。所以我编写了一个脚本来执行此操作,但每次有更新时,jar名称都会更改。它应该是java -jar foobar3.0.jar vs java -jar foobar4.0.jar。有没有办法编写一个脚本,只需执行java -jar foobar TAB之类的操作,这样它就会自动完成名称的其余部分,因为它是文件夹中唯一具有该名称的文件?

2 个答案:

答案 0 :(得分:0)

尝试使用java -jar foobar*.jar*是标准正则表达式通配符,表示任何字符串;在此上下文中,它表示将生成有效路径的任何字符串。请注意,这意味着如果有任何其他jar文件以foobar开头,那么它选择哪一个是依赖于实现的,即你无法预测它。

答案 1 :(得分:0)

您可能需要查看的是如何匹配文件名,而不是搜索" tab" / autocomplete。

使用*可以解决您的问题,因此该行就像java -jar foobar*.jar一样。绝对可以在Linux下运行,也可以在Windows下运行。 (您没有指定操作系统)。

现在,如果有多个文件与该模式匹配,则可能会出现问题。如果您确定文件夹中只有一个,那就没问题了。

另一个建议是不要为每个版本更改jar的名称 - 将它们放在具有版本名称和README或其他任何内容的zip文件中,并保持基本jar名称相同 - 这样用户就可以放弃新版本现有文件夹中的版本并覆盖它,无需更改路径。