Windowsのバッチファイルを使っていると、よくバッチファイルの先頭に「@echo off」と書かれているのを見かけないでしょうか。
本記事では、この「@echo off」の効果について紹介します。
@echo offとは
「@echo off」はコマンドプロンプトの画面に、バッチファイルに書いたコメントを表示しないようにするためのコマンドです。
実際に@echo offがある場合のコマンドと、無い場合のコマンドの出力を比較してみましょう。
@echo offがある場合の例
@echo offがある場合のサンプルバッチファイルとして以下を実行してみます。Forループで1~5までの数字をechoするバッチファイルとなっています。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@echo off
for /l %%i in (1,1,5) do (
echo %%i
)
pause

@echo offがない場合の例
@echo offがない場合のサンプルバッチファイルとして以下を実行してみます。@echo offの有無のみの違いです。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
for /l %%i in (1,1,5) do (
echo %%i
)
pause

違いがわかりますでしょうか。
@echo offが無い場合には、バッチファイルの中身についてもコマンドプロンプト上に表示されていることがわかります。
@echo offの意味
実行したコマンドを画面に表示する機能を「エコー機能」と呼びます。Windowsのバッチファイルでは、このエコー機能がデフォルトでONになっています。
先頭に@echo offを付与することで、このエコー機能をOFFにすることが可能です。
ONとOFFのどちらが良いかは状況によりけりですが、実行しているコマンドは表示せずに結果だけ表示したい場合には、OFFにする必要があります。