echo - テキストを表示
echo コマンドとは
echoコマンドは、コマンドプロンプトやバッチファイルで文字列を表示するためのコマンドです。また、コマンド自体の表示(エコー)のオン / オフを切り替える役割もあります。
- 文字列を表示する:
echo Hello - コマンドの表示を制御する:
echo off/echo on - 空ファイルの作成やファイルへの書き込みにも、リダイレクトと組み合わせて利用できます
このページでは、echoコマンドの基本的な使い方から、@echo offの意味、特殊文字の扱いまでを具体的なサンプルコードとともに説明します。
echo コマンドの基本構文
echo [<メッセージ>]
echo [on | off]
| 書式 | 動作 |
|---|---|
echo <文字列> | 指定した文字列を表示する |
echo on | コマンドの表示を有効にする(既定) |
echo off | コマンドの表示を無効にする |
echo | 現在のエコーの状態(ECHO は ON です。など)を表示する |
@<コマンド> | 行頭に@を付けると、その行のコマンド自体を表示しない |
echo コマンドの基本的な使い方
コマンドプロンプトでの基本的な使い方
このコマンドを実行すると、echoコマンドに続けて入力した「Hello, World!」という文言が出力されます。

中小企業経営者のためのRPA入門 RPA導入を成功させる方法

60分でわかる! AIエージェント 超 入門

コマンドラインの黒い画面が怖いんです。

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門
バッチファイルでの基本的な使い方
@echo off
setlocal
echo Hello, World!
endlocal
exit
このバッチファイルを実行すると、コマンドプロンプトと同様に Hello, World! が表示されます。
「@echo off」の意味
echo onとecho offは、コマンドの実行時にコマンド自体を画面に表示するかどうかを切り替えます。
echo on(既定): 実行するコマンドと、その結果の両方が表示されるecho off: 実行するコマンドは表示されず、結果だけが表示される
バッチファイルをそのまま実行すると、各行のコマンドが 1 行ずつ画面に表示されて出力が読みにくくなります。そのため、バッチファイルの先頭では@echo offと書くのが一般的です。
行頭の@は「その行のコマンドを表示しない」という意味です。echo offだけだと、echo offという行自体は表示されてしまうため、先頭の 1 行目だけ@を付けて非表示にしています。
@echo off
echo この行は結果だけが表示されます
@echo offを書かずに、表示したくない行の先頭にだけ@を付けることもできます。 例:
@del temp.txt
空行を表示する
echo.(echoの直後にピリオド)を使用することで、空行を表示することができます。
echoだけを実行すると、空行ではなくECHO は ON です。(echo offの後ならECHO は OFF です。)のようにエコーの状態が表示されます。
バッチファイル内で未定義の変数をecho %UNDEFINED_VAR%のように表示した場合も、変数が空に展開されて同じ表示になります。
空行だけを出したいときは、echo.を使うのが安全です。
コマンドプロンプトでの使い方
バッチファイルでの使い方
@echo off
setlocal
echo Hello, World!
echo.
echo This is a new line.
endlocal
exit
echo コマンドの応用
環境変数の表示
環境変数や変数の値を表示するには、%変数名%の形式で指定します。
コマンドプロンプトでの使い方
このコマンドを実行すると、ログイン中のユーザー名が表示されます。
バッチファイルでの使い方
@echo off
setlocal
echo Your username is %USERNAME%.
endlocal
exit
このバッチファイルを実行すると、ユーザー名が表示されます。
計算結果の表示
set /aコマンドで計算を行い、その結果をechoコマンドで表示できます。
コマンドプロンプトでの使い方
コマンドプロンプトでset /aを実行すると、計算結果の 7 がそのまま表示されます。
バッチファイルでの使い方
@echo off
setlocal
set /a result=3+4
echo The result is %result%.
endlocal
exit
このバッチファイルを実行すると、The result is 7.と表示されます。
特殊文字を表示する
&、|、<、>、^はコマンドプロンプトで特別な意味を持つため、そのままechoに渡すと意図した表示になりません。表示したい場合は、文字の前に^を付けてエスケープします。%はバッチファイル内では%%と重ねて記述します。
@echo off
echo A ^& B
echo 50%%
echo 1 ^> 0
実行すると、A & B、50%、1 > 0と表示されます。
echo Hello > memo.txtのように>を付けると、画面ではなくファイルに出力されます。
この性質を使うと、echoでテキストファイルを作成できます。詳しくは関連記事を参照してください。
まとめ
echo <文字列>で文字列を表示できる- バッチファイルの先頭には
@echo offを書き、コマンド自体の表示を抑制する - 空行は
echo.で出力する(echoだけだとエコーの状態が表示される) &や>などの特殊文字は^でエスケープする