コンテンツにスキップ

Top

コマンドプロンプトでコマンドをバックグラウンドで実行する

コマンドプロンプトでコマンドをバックグラウンドで実施するのは容易で、startを先頭につければ良いだけです。

start dir
これでバックグラウンドで実行されます。
ただし、実際動かしたらわかると思いますが、新しくプロンプトが表示されてしまいます。dirぐらいすぐ終わるやつだとチラ見程度ですが、長く処理がかかるものの場合、正直邪魔です。

その場合、 /b をつけると新たにプロンプトが表示されることなくバックグラウンドで実行されます。

start /b dir

簡単ですね!

PowerShellでコマンドをバックグラウンドで実行

PowerShellで同じことをしたいなら以下のようになります。

引数を渡すには "-ArgumentList" を使ってカンマ区切りで渡す必要があります。

PS >Start-Process -WindowStyle Hidden "diff" -ArgumentList "a.txt","b.txt"

なんか、コマンドプロンプトのほうが容易ですね(笑)

"-WindowStyle Hidden" がコマンドプロンプトの時でいう /b です。
これをつけると新しくウィンドウが表示されません。

しかしまぁなんでこんなPowerShellは複雑なんだろう。Linuxみたいにコマンドのお尻に&をつけるだけみたいなにできないのでしょうか?

以上!