Команда ECHO наверно является одной из самых простых и самых используемых команд. Применяется для вывода текстовых сообщений на стандартный вывод и для переключения режима отображения команд на экране.

1. Описание команды ECHO.

1.1. Формат командной строки.

Включить / выключить режим отображения вводимых команд на экране:

C:\ ECHO [ON | OFF]

Отобразить текст сообщения на экране:

C:\ ECHO [сообщение]

2. Примеры использования.

2.1. ECHO — при вводе команды без параметров, отображается текущий режим отображения команд:

Режим вывода команд на экран (ECHO) включен.

2.2. Для вывода пустой строки, используется команда ECHO с точкой:

C:\ echo.

2.3. Вывод сообщения Hello World!!! на экран:

C:\ echo Hello World!!!

2.4. Вывод на экран значения переменной окружения USERNAME (имени текущего пользователя):

C:\ echo %USERNAME%

2.5. Наиболее распространено использование команды echo в командных файлах. Практически любой командный файл начинается командой:

@echo off — отключить режим вывода команд на экран.

Символ @ перед командой echo используется для того, чтобы на экран не выводился и текст самой команды.

2.6. Очень часто команда echo используется для записи сообщений в текстовый файл с использованием перенаправлением вывода:

echo Начало работы - %DATE% в %TIME% >logfile.txt

. . .

Echo ERORLEVEL=%ERRORLEVEL% >> logfile.txt

Echo Конец работы, %DATE% в %TIME% >>logfile.txt

В текстовый файл logfile.txt записывается дата и время начала работы командного файла, некоторые результаты и время завершения.

2.7. Нередко, команда echo используется для создания нового файла. Вывести символ «1» в файл newfile.cmd:

C:\ echo 1 >newfile.cmd

Если такого файла не существует, он будет создан, если существует, то будет перезаписан.

2.8. Значения параметров командной строки, переменных и их подстановочных значений, также нередко отображаются с помощью команды echo.

Пример командного файла, выводящего на экран информацию о себе:

@echo off
ECHO ОБРАБАТЫВАЕТСЯ ФАЙЛ - %0
ECHO Дата/время создания/изменения командного файла - %~t0
ECHO Путь командного файла - "%~f0"
ECHO Диск командного файла - %~d0
ECHO Каталог командного файла - "%~p0"
ECHO Имя командного файла - %~n0
ECHO Расширение командного файла - %~x0
ECHO Короткое имя и расширение - %~s0
ECHO Атрибуты командного файла - %~a0
ECHO Размер командного файла - %~z0

2.9. При выводе служебных символов, интерпретируемых командным процессором нужно использовать символ ^. Например, вместо значения переменной ERRORLEVEL, нужно вывести текст “%ERRORLEVEL%”

C:\ echo ^%ERRORLEVEL^% = %ERRORLEVEL%

2.10. Особенностью команды ECHO является добавление служебных символов возврата каретки и перевода строки 0x0D и 0x0A (Carriage Return и Line Feed) в конец выводимого текста. Командный файл следующего содержания выводит текст из 3-х строк:

echo text1
echo text2
echo text3

2.11. Если же требуется вывести весь текст в одну строку, обычно используют эмуляцию команды ECHO командой SET с параметром /P, используемой для организации диалога с пользователем, когда выводится сообщение, на которое требуется ответ. Выводимое сообщение можно использовать таким же образом, как и в команде ECHO, а вместо ответа можно использовать ввод с фиктивного устройства nul:

echo off
< nul set /p str="text1 "
< nul set /p str="text2"
< nul set /p str="text3"

При выполнении такого командного файла сообщение на экране будет представлено одной строкой:

C:\ text1 text2text3

2.12. Для подачи звуковых сигналов можно использовать вывод служебного символа с кодом 07 (BELL). Достаточно просто включить его в поток выходных данных, что зависит от возможностей редактора, который используется для написания командного файла. Можно использовать и стандартные возможности командной строки, добавив комбинацию CTRL+G :

C:\ echo echo ^G > beepcmd.bat

После выполнения данной команды будет создан командный файл beepcmd.bat, который выводит командой ECHO служебный символ 07, т.е. включает писк динамика. При необходимости его можно вызывать в других командных файлах с помощью команды CALL.