Что такое знак at (@) в пакетном файле и что он делает?

Один из удаленных знакомых с Windows/dos пакетных скриптов распознает эту строку:

@echo off

В течение многих-многих дней я был доволен тем, что @ заключается в том, как echo off должен быть написан в верхней части пакета и что он.

Однако в последнее время я пришел к следующим строкам:

@php foo bar

и еще одна строка:

@call \\network\folder\batch.bat

Это усилило мое подозрение, что @ имеет больше, чем просто режим переключения echo. Однако @ не указан в Windows XP: ссылка в командной строке AZ, которую я пытаюсь использовать в качестве ссылки, и, таким образом, я не конечно, как найти окончательную информацию об этом:

Что такое знак @ в пакете, что для него терминология и что он делает?

Ответ 1

Символ - @

@ symbol указывает процессору команд меньше подробностей; показывать только результат команды, не показывая ее выполнение, или любые подсказки, связанные с исполнением. При использовании он добавляется к началу команды, нет необходимости оставлять пробел между "@" и командой.

Если для параметра "echo" установлено значение "off", нет необходимости использовать "@", потому что установка "echo" на "off" приводит к тому, что это поведение становится автоматическим. "Echo" обычно устанавливается на "on" по умолчанию, когда начинается выполнение script. Именно по этой причине обычно используется "@echo off", чтобы отключить эхо-сигнал, не отображая действие его отключения.

echo verbose
@echo less verbose
pause