2012-05-03 131 views
0

実数n00bからpowershellへ。私はコミュニティがかなり簡単なスクリプトを作成するのに役立つかどうか疑問に思っていました。複数のバッチファイルを順番に実行するPowershellスクリプト

本当に、私はWindowsバッチファイルで必要なものすべてを達成できますが、これらは一度に1つのタスクしか完了しません。私はマスタースクリプト(powershellスクリプト)が個々のバッチプロセスを順に呼び出すようにしたい。つまり、Batch_1を実行してから、Batch_1が呼び出すプログラムのタスクが終了したときにのみBatch_2を実行します。

これは可能ですか? IF THEN ELSEタイプのシナリオの何らかの形を使用するケースか、またはpowershellに何らかのイベントが起こるのを待たせる方法がありますか?

ありがとうございます!

GPC

答えて

0

あなたがこの問題を解決するために、通常のWindowsシェル(CMD.EXE)から、FORコマンドを使用することができます。インナー'DIR'コマンドで返される次のコマンドは、順番に、すべてのファイルを実行

FOR %f IN (*.cmd) DO %f 

通常バッチから呼び出す
FOR /F %f IN ('DIR /b /oen *.cmd *.bat') DO %f 
0

次のコマンドは、現在のディレクトリ内のすべてのCMDファイルを実行しますファイルはコンソールプログラムに同期します。このためPowerShellスクリプトは簡単です:バッチファイルは、Windowsサブシステムのexeファイル(非コンソールEXE)を呼び出している場合、それらは非同期に実行されるため

master-script.ps1 contents: 
--------------------------- 
c:\batch1.bat 
c:\batch2.bat 

は今、これはトリッキー取得します。そのような場合は、質問を更新してその旨を表示してください。

関連する問題