[cmd]Windowsのコマンドプロンプトで、複数コマンドを一度に実行する方法

カテゴリ: cmd.exe, Windows

Linuxでは、以下のように";"でコマンドをつなぐことで、複数のコマンドを1行で実行させることができます。

pushd /path/to; php foo.php; popd

Windowsのコマンドプロンプト(cmd.exe)で同じことを行いたい場合はどうすればよいでしょうか?

Windowsのcmd.exeで複数コマンドを1行で実行させる

Windowsのコマンドプロンプトで複数コマンドをまとめて実行するには、"&"で複数のコマンドを繋げばよいです。
この機能はWindows2000以降のOSで利用できます。

pushd c:\path\to & php foo.php & popd

最初のコマンドが成功したときのみ、2番目のコマンドを実行したい場合は、"&&"と2つアンパサンドを書きます。

pushd c:\path\to && php foo.php && popd

逆に、最初のコマンドが失敗したときのみ、2つ目のコマンドを実行したい場合は、"||"で複数のコマンドを繋げます。
※ちなみに、"|"が一個だとパイプとみなされ、1つ目のコマンドの出力が2つ目のコマンドに渡されるという、まったく別の機能になります。

php some-batch.php || php report-error.php

上記の処理をネストしたい場合は、"()"が使えます。

(command1 & command2) || command3
こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。