Programming Field

「@」 (コマンド出力の抑制) - DOS/コマンドプロンプト コマンド一覧

バッチファイルにおいて、この記号(アットマーク)を実行するコマンドの先頭に置くと、画面に実行するコマンド文字列が表示されなくなります。

構文

@<command>
<command>
任意のコマンドラインを記述します。「( )」文字を使ったコマンドラインを指定することもできます。

解説

「@」使用例

バッチファイルに記述されたコマンドは、「@」も付けない何もしない状態だと画面にコマンドラインを出力してからそのコマンドを実行します。これだと出力が多くなって煩わしくなるため、コマンドの先頭に「@」を付加することでコマンドラインの出力を抑制することができます。

他に画面への出力を抑制する方法として「echo off」を実行する方法があります。多くのバッチファイルでは先頭で「echo off」を実行し、コマンドラインの出力を抑制していますが、単に「echo off」とだけ記述すると「echo off」というコマンドラインが出力されることになるため、「@」文字を使って「@echo off」と記述します。

※ あえてコマンドラインを出力したい場合は「echo on」を使い、Promptコマンドを使って出力時のフォーマットを調整したりしますが、その場合でも「@」付きのコマンドは出力されません。

サンプル1 (バッチファイル)

@gcc.exe -o main main.c

コマンド「gcc.exe -o main main.c」を実行しますが、画面にこの文字列を表示しません。

サンプル2 (バッチファイル)

@echo off

Echoコマンドを使って、これ以降の実行するコマンド(のコマンドライン)や「C:\>」などを画面に表示させないようにします。「@」を省くと「C:\>echo off」が画面に表示されてしまいます。