2017-02-07 5 views
-1

他のバッチスクリプトを呼び出すバッチスクリプトを作成しようとしています。これらの他のすべてのスクリプトは、番号01,02,03などで始まるタイトルを持っていますが、残りの名前はプログラムとバージョンです。これらのバージョンは絶えず変更されているので、このマスタースクリプトを編集する必要がないように、完全なファイル名ではなく01 * .batを呼び出すようにしていました。Wilcards in filename pathバッチスクリプトを呼び出す

ワイルドカードは他のバッチスクリプトや起動プログラムを呼び出す際に使用できません。

また、これを行うより良い方法がありますか?

私は今まで、ほとんどのコードを持っているが、私は次のよう

Start test*.bat 
Call test*.bat 
echo for /f "tokens=*" %%A IN ('dir /b test*.bat') Start %%A 

ともない仕事をしようとしました。

答えて

2

あなたは近くにいました。あなたの最後のコマンドで

  • echoただ、それはdirコマンドの出力を処理するためにfor /fを使用する必要はありません
  • それを実行しない、シンプルなfor
  • 十分でしょうコマンドを示してい
  • あなたが並行して、すべてのバッチファイルを実行する場合を除きあなたはcallコマンドを必要とする代わりにstartコマンドで、forコマンド
  • do句を忘れます。示された各ファイルに対して
for %%a in (test*.bat) do call "%%a" 

は、選択したファイル

+0

を呼び出して設定します。これは近いように思えるが、それはまだ最初の後に任意のバッチを好きにいないようです。 "%filename%は内部または外部のコマンド、操作可能なプログラムまたはバッチファイルとして認識されません。" 同時に実行するようですが、前回までに一度に1つずつ実行する方法はありませんか? 各バッチは、「Start/Wait%somefile%」のスタンドアロンバッチです。 – zcr07

+0

@ zcr07、前のコードは、前のコードが終了した後に1つのバッチファイルを実行します。投稿されたコードに '%filename%'が存在しないので、問題はここではなく、呼び出されたバッチファイルにあります。 –

+0

これはちょっとだけ、別のインストールファイルも指摘されています。例えば、1つは単に 'START/WAIT%cd%\ Src \ dotNetFx_4_5_0_Setup.exe' であり、次に' START/WAIT%cd%\ Src \ dotNetFx_4_5_2_Setup.exe'が実行されます。 これは、それ以降のスクリプトでは失敗します。私が '::最初のバッチファイル内のメインスクリプトをコメントアウトしても ' 2番目のバッチファイルを実行し続けますが、3番目のバッチファイルで失敗します。 – zcr07

関連する問題