コマンドプロンプトで複数のコマンドを一度に実行する方法
目次
複数のコマンドを一度に実行する
コマンドプロンプトの実行単位は1行(1コマンド)ですが、&
記号を使用するとコマンドを連続して実行することが可能です。
[コマンド1] & [コマンド2] & [コマンド3]
dir & cd .. & dir
上記の例では、現在のディレクトリの内容を表示し、次に親ディレクトリに移動し、最後に親ディレクトリの内容を表示します。
前方のコマンドが成功した場合にのみ実行
&&
記号を使用すると、前方のコマンドが成功した場合にのみ、後方のコマンドを実行できます。
[コマンド1] && [コマンド2] && [コマンド3]
以下の例ではsample.txt
が存在する場合はecho
の処理が実施されます。
> more sample.txt && echo sample.txtを表示しました
サンプルの内容
sample.txtを表示しました
sample.txt
が存在しない場合はecho
の処理が実施されません。
> more sample.txt && echo sample.txtを表示しました
ファイル C:\sample.txt にアクセスできません
前方のコマンドが失敗した場合にのみ実行
||
記号を使用すると、前方のコマンドが失敗した場合にのみ、後方のコマンドを実行できます。
[コマンド1] || [コマンド2] || [コマンド3]
以下の例ではsample.txt
が存在する場合はecho
の処理が実施されません。
> more sample.txt || echo ファイルが見つかりません
サンプルの内容
sample.txt
が存在しない場合はecho
の処理が実施されます。
> more sample.txt || echo ファイルが見つかりません
ファイル C:\sample.txt にアクセスできません
ファイルが見つかりません
コマンドのグループ化
()
記号を使用してコマンドをグループ化することも可能です。
([コマンド1] || [コマンド2]) & [コマンド3]
上記では、コマンド1が成功した場合はコマンド2は実行されず、コマンド3が実行されます。
コマンド1が失敗した場合はコマンド2、コマンド3は実行されます。
以下の例ではsample.txt
が存在する場合は2番目のコマンドは実行されません。
> (more sample.txt || echo ファイルが見つかりませんでした) & echo 処理終了
サンプルの内容
処理終了
sample.txt
が存在しない場合はすべてのコマンドが実行されます。
> (more sample.txt || echo ファイルが見つかりませんでした) & echo 処理終了
ファイル C:\sample.txt にアクセスできません
ファイルが見つかりませんでした
処理終了
コマンドの成功、失敗の判定
コマンドの成功(正常終了)、失敗(異常終了)はコマンドプロンプトのエラーレベルで判定されます。
エラーレベルが0
の場合、直前に実行されたコマンドが正常に終了したことを表し、0
以外の場合はエラーで終了したことを表します。
エラーレベルはERRORLEVEL
環境変数を参照することで確認できます。
> echo %ERRORLEVEL%
0
> more sample.txt
ファイル C:\sample.txt にアクセスできません
> echo %ERRORLEVEL%
1