0

Javaアプリケーションを起動しようとするバッチファイルがあります:

java -jar myProgram*.jar

バージョン番号に関係なくプログラムを見つけるために、バッチ ファイルでワイルドカード * を評価したいと思います。したがって、myProgram1.jar または myProgram438.jar を見つけて実行する必要があります。

しかし、このバッチ ファイルでは次の結果が得られます。

Error: Unable to access jarfile myProgram*.jar

Java への引数がシェルによって処理されていないようです。それらを渡す前に、引数でワイルドカードを展開する方法はありますか? Bashにはこれを行うことができるbackticsがあることを私は知っています。Windowsで行うことは可能ですか?

4

1 に答える 1

3

フォルダー内に複数の program*.jar がある場合は、開始するプログラムを指定する必要があります。スクリプトは「最後に見つかった」を開始します。

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

これには「Cygwin」は必要ありません。

于 2013-04-06T21:56:53.637 に答える