Что такое знак 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