メッセージの表示(ECHO)

広告

前のページで確認したとおり、echoコマンドにはエコー機能のON/OFFを切り替える機能がありますが、echoコマンドを使うことで任意の文字列を画面に表示させることができます。次の書式を使用します。

echo メッセージ

例えば次のようなバッチファイルを作成します。

@echo off
echo バッチファイルを実行します。
cd c:¥cdtest
cd
echo 終了しました。

バッチファイルを実行すると次のようになります。

メッセージの表示(ECHO)

echoコマンドの引数に指定したメッセージが表示されました。

空白行を出力する

単に空白行を出力したい場合には注意が必要です。まずechoコマンドの引数を空にして出力してみます。

@echo off
echo バッチファイルを実行します。
echo 
echo 終了しました。

バッチファイルを実行すると次のようになります。

メッセージの表示(ECHO)

2行目が「ECHO は <OFF> です。」と出力されています。実はechoコマンドは引数無しで実行すると、現在エコー機能がONなのかOFFなのかを表示するようになっています。その為、このような出力が行われました。

空白行を出力するには次のように記述して下さい。

echo.

echoコマンドの後に空白などをあけずに「.」を記述します。これで空白行が出力されます(なぜこうなるのかは分かっていません)。

ではバッチファイルを下記のように変更します。

@echo off
echo バッチファイルを実行します。
echo.
echo 終了しました。

バッチファイルを実行すると次のようになります。

メッセージの表示(ECHO)

空白行が出力されていることが確認できます。

特殊文字を出力する

コマンドプロンプトにおいて「<」「>」「|」「&」の文字は特殊な意味を持ちます。その為、echoコマンドの引数に直接これらの文字を記述することはできません。

次の例を見て下さい。

@echo off
echo < は不等号です

上記の場合、「<」はリダイレクトのための特殊文字と解釈され「は不等号です」という名前のファイル名を探します。結果としてエラーとなってしまいます。

メッセージの表示(ECHO)

これらの特殊な文字を出力するには文字の前に「^」を付けてエスケープします。

<    -->   ^<
>    -->   ^>
|    -->   ^|
&    -->   ^&
^    -->   ^^

例えば「^>」と記述すると、出力される文字は「>」となります。「^」はこのように特殊文字をエスケープするために使われる特殊な文字なので「^」そのものを文字として出力する場合にも「^^」と記述して下さい。

またバッチファイル内では「%」も特殊な意味を持ちます。「%」を文字としての「%」として出力したい場合には「%%」と置き換えて記述して下さい。

%    -->   %%

では試してみます。次のようなバッチファイルを作成します。

@echo off
echo 特殊な文字は次の通りです。
echo ^<
echo ^>
echo ^|
echo ^&
echo ^^
echo %%

バッチファイルを実行すると次のようになります。

メッセージの表示(ECHO)

特殊文字も単なる文字として画面に出力できています。

( Written by Tatsuo Ikura )