文書の過去の版を表示しています。
目次
コマンドプロンプトとバッチファイルのいろいろ
Windowsのコマンドプロンプトやバッチファイルでの処理等について。
アットマーク
アットマーク「@」はコマンドとプロンプト文字列の非表示化を行う。
以下の様なバッチファイルがデスクトップにあるとき、
ECHO テスト
出力は以下のようになる。
C:\Users\hogehoge\Desktop>ECHO テスト テスト
この時、バッチファイルのECHO文の前に@を入力し、以下の様に変更する。
@ECHO テスト
すると、出力は以下のように変化する。
テスト
ECHOのいろいろ
ECHO文はコマンドライン引数として与えられた文字列を画面に出力するだけ、という至ってシンプルなコマンド。
なのだけれど、それ以外にもいくつかできることがある。
プロンプト文字列の表示/非表示
コマンドプロンプトにしても、バッチファイルにしても、起動直後はプロンプト文字列(C:\Users\hogehoge>みたいなやつ)は表示するのがデフォルト。
このプロンプト文字列の表示/非表示の制御をECHO文で行う事ができる。
- プロンプト文字列を表示する
ECHO ON
- プロンプト文字列を表示しない
ECHO OFF
バッチファイルを作成する際は、前述の@も併用して、
@ECHO OFF 後続処理
のようにしておくと、不必要な表示は出なくなる。
現在のプロンプト文字列の表示状態を確認する
前述のECHO ON、ECHO OFFによって、プロンプト文字列の表示状態を変更することが可能だが、現在表示設定なのか、非表示設定なのかを確認する場合は、コマンドライン引数無しでECHOを実行すると良い。
……そんなことして確認しなくても、画面見りゃすぐわかるんだけれども。
- ONの時
C:\Users\hogehoge>ECHO ECHO は <ON> です。
- OFFの時
ECHO ECHO は <OFF> です。
空白行を出力する
ECHO文で空白行を出力したい場合は少し特殊で、ECHO文に続けて「.(ピリオド)」を入力する。
C:\Users\hogehoge>ECHO. C:\Users\hogehoge>
「続けて」がミソ。コマンドライン引数としてスペースを挟むのはNG。
終了する
コマンドプロンプトを終了するには、EXITコマンドを実行する。
また、バッチファイルの終了については、バッチファイルの内容がすべて実行されるか、EXITが読み込まれた時点で終了する。
@ECHO OFF ECHO データ1 ECHO データ2 EXIT ECHO データ3
上記のバッチファイルを実行すると、
データ1 データ2
と出力されて終了する。“ECHO データ3“の部分はEXITの後であるため、実行されない。
終了コード
EXITを実行する際は、コマンドライン引数に数値を渡す事で、その値を終了コードとして返す事ができる。
作成しているバッチファイルが別のプログラムやバッチファイルから呼び出される場合、終了コードを正しく返すかどうかは重要なので、ちゃんと記述する方がよい。
EXIT 0
0は正常終了を示す。
それ以外については、異常終了となる。