Вывод команд и сообщений на экран
По умолчанию команды пакетного файла выводятся на экран перед выполнением. Если в файл вставить команду echo off, то выполняемые за ней команды не будут выводиться на экран. Для того, чтобы избежать вывода на экран отдельной командной строки, перед текстом команды ставится символ @. Например, чтобы избежать вывода на экран текста echo off, следует записать его в следующем виде: @ echo off. Команда echo также используется для того, чтобы вывести на экран какое-то сообщение, например,
echo Введите группу, в которой учится Иванов
Комментарии
Команда rem позволяет включить в пакетный файл комментарии, которые не будут интерпретироваться как команды во время исполнения данного файла, например,
@ rem Этот текст является комментарием
Проверка условий
Команда if позволяет задавать условия выполнения команд в пакетном файле. Формат команды:
IF условие команда
команда – это любая допустимая команда, выполняемая, если условие истинно.
условие – это одно из приведенных ниже выражений:
- NOT условие – истинно тогда, когда указанное условие ложно.
- EXIST имя-файла – условие истинно тогда, когда указанный файл существует.
- строка1 == строка2 – условие истинно тогда, когда строка1 и строка2 полностью совпадают. Если в этих строках имеются символы %0-%9, то вместо этих символов подставляются параметры командного файла, например, if -2% == -SSS. В данном примере минус указывается для того, чтобы исключить возникновение ошибки при отработке данной команды, если файл запущен без соответствующего параметра.
Переходы
Командный файл может содержать метки и команды перехода. С их помощью можно управлять порядком выполенения команд в файле.
Формат команды перехода: goto имя_метки. Например, goto P.
Метка – это место в программе, куда должно перейти управление. Метка обозначается двоеточием, например : S означает метку с именем S.
Пример создания командного файла
Рассмотрим пример командного файла, который содержит данные об успеваемости студентов по информатике. Пользователь вводит фамилию, на экране отображается оценка за экзамен.
Создать новый файл в текущем каталоге можно командой edit infolevel.bat. Новый файл автоматически откроется во встроенном редакторе MS DOS.
echo Informatitcs grades
(на экран выводится текст Informatitcs grades)
if -%1 == -Petrov goto P
(если первый параметр, указанный при вызове файла infolevel . bat , представляет собой текст Petrov , то управление должно перейти к метке P )
if -%1 == -Ivanov goto I
(если первый параметр, указанный при вызове файла infolevel . bat , представляет собой текст Ivanov , то управление должно перейти к метке P )
goto exit
(если ни одно из указанных выше условий не выполнилось, переходим к метке exit ).
:P
(данное место обозначено меткой P )
echo 5
goto exit
:I
echo 4
goto exit
:exit
После того, как работа файла отлажена, необходимо вставить в файле перед первой строкой команду @echo off.
Запуск командного файла осуществляется в командной строке MS DOS. При этом пишется имя файла и через пробел указываются параметры. В рассмотренном примере в качестве параметра выступает фамилия студента. Пример запуска командного файла:
D : \infolevel.bat Petrov
В результате на экране отобразится текст:
Informatitcs grades
5
В данном примере мы используем только один параметр – фамилия студента, поэтому в условиях проверки ссылка идет только на первый параметр запуска %1:
if -%1 == -Petrov goto P
if -%1 == -Ivanov goto I