ユーザ用ツール

サイト用ツール


ja:windows:コマンドプロンプトとバッチファイルのいろいろ

文書の過去の版を表示しています。


コマンドプロンプトとバッチファイルのいろいろ

Windowsのコマンドプロンプトやバッチファイルでの処理等について。

アットマーク

アットマーク「@」はコマンドとプロンプト文字列の非表示化を行う。
以下の様なバッチファイルがデスクトップにあるとき、

ECHO テスト

出力は以下のようになる。

C:\Users\hogehoge\Desktop>ECHO テスト
テスト

この時、バッチファイルのECHO文の前に@を入力し、以下の様に変更する。

@ECHO テスト

すると、出力は以下のように変化する。

テスト

ECHOのいろいろ

ECHO文はコマンドライン引数として与えられた文字列を画面に出力するだけ、という至ってシンプルなコマンド。
なのだけれど、それ以外にもいくつかできることがある。

プロンプト文字列の表示/非表示

コマンドプロンプトにしても、バッチファイルにしても、起動直後はプロンプト文字列(C:\Users\hogehoge>みたいなやつ)は表示するのがデフォルト。
このプロンプト文字列の表示/非表示の制御をECHO文で行う事ができる。

  • プロンプト文字列を表示する
    ECHO ON
  • プロンプト文字列を表示しない
    ECHO OFF

バッチファイルを作成する際は、前述の@も併用して、

@ECHO OFF
 
後続処理

のようにしておくと、不必要な表示は出なくなる。

現在のプロンプト文字列の表示状態を確認する

前述のECHO ONECHO 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正常終了を示す。
それ以外については、異常終了となる。

ja/windows/コマンドプロンプトとバッチファイルのいろいろ.1402477943.txt.gz · 最終更新: 2014/06/11 09:12 by makoto