- - PR -
WindowsPowerShellでバッチファイルをマルチスレッドで起動したい
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2009-03-18 09:30
お世話さまです。
c:\\test1.bat と c:\\test2.bat という2つのバッチファイルがあるとします。 これらを非同期(マルチスレッド)で起動するにはどのように書けばよいのでしょうか? 昨日からPowerShell関連のサイトを色々と物色していたのですが 見つけることができませんでした。 実行環境はWindows 2003Server SP1です。 ご教示のほど宜しくお願い致します。 |
|
投稿日時: 2009-03-19 20:34
「マルチスレッド」じゃなくて、「バックグラウンド」で検索すると見つかるかな。
ちなみに、DOS なら START コマンドで OK …だけど、DOS 窓が開くのが鬱陶しいかも。 |
|
投稿日時: 2009-03-23 11:41
===>rainさん
レス、ありがとうございます。 返信が遅くなって申し訳ありませんでした。m()m 実は、実際に色々とスクリプトを作って動かしてみて 判ったのですが、Invoke-Item コマンドレットとかで バッチファイルを起動すると自ずとマルチタスクになるようで むしろ前のジョブを待たせる方に腐心するようになりました。^^; 具体的に書きますと $p = [diagnostics.process]::start("c:\\test1.bat") $p.WaitForExit() Invoke-Item "c:\\test2.bat" Invoke-Item "c:\\test3.bat" 1.test1.batの終了を待ってtest2.batを起動 2.test2.batの終了を待たずしてtest3.batを起動 これで意図した挙動は実現できました。 何か問題が潜んでいるような予感もしますが、とりあえず これで突き進もうかと思っています。^^; |
1