Команда 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.