Командным(пакетным — от batch) файлом называется последовательность команд, записанная в текстовый файл и выполняемая путем ввода имени этого файла с клавиатуры аналогично единственной команде ОС.
Предназначены для упрощения задания и автоматизации выполнения часто используемых последовательностей команд. При помощи этих файлов пользователь может создать свой интерфейс с ОС. В частности, командные файлы полезны при выдаче команд, требующих многих аргументов и ключей, чтобы каждый раз не вводить с клавиатуры длинную командную строку.
Строки командного файла могут содержать:
- встроенные команды ОС;
- обращения к исполняемым программам;
- вызовы других командных файлов;
- специальные команды.
Каждая строка командного файла может содержать только одну команду или запрос на выполнение программы.
Командные файлы обычно создаются каким-либо текстовым редактором.
Каждый командный файл должен иметь расширение ВАТ (от BATch).
Небольшие файлы удобно формировать командой COPY CON file.
Например, для создания командного файла r.bat, отображающего содержимое текущих каталогов дисков в приводах А и В, достаточно ввести с клавиатуры следующую информацию:
COPY CON R.BAT <Enter>
CLS <Enter>
DIR A: <Enter>
DIR B: <Enter>
<F6> <Enter>
Команда CLS – очистка экрана.
В результате в текущем каталоге будет создан командный файл r.bat с dir a: dir b:
Командный файл запускается обычно путем ввода его спецификации в ответ на приглашение ОС. Расширение ВАТ допускается не указывать, например: R. Кроме имени файла можно задать последовательность аргументов (в текстовом виде), отделенных друг от друга:
- пробелами (одним или несколькими),
- запятой или
- точкой с запятой.
В простейшем случае каждая прочитанная строка отображается на мониторе и интерпретируется (выполняется). Затем считывается следующая строка и т.д. Для прерывания выполнения КФ используется комбинация клавиш <Ctrl+Break>.
При создании и использовании командных файлов необходимо выполнять следующие правила:
1. в конце одного командного файла можно специфицировать имя другого с тем, чтобы последовательно выполнить два файла путем указания в командной строке только первого из них.
2. Указание имени командного файла внутри другого командного файла приводит к безусловной передаче управления без последующего возврата в него;
3. внутри командных файлов можно использовать все имеющиеся в ОС средства перенаправления ввода-вывода.
4. стандартный ввод-вывод всего командного файла как единого целого перенаправлять не допускается;
5. текущий диск, текущие каталоги и состояние окружения ОС при входе в командный файл не изменяются.
Средства ОС для поддержки командных файлов позволяют:
— создавать линейные командные файлы;
— организовывать ветвления;
- создавать циклы;
- разрабатывать вложенные командные файлы;
- производить вывод информации из командных файлов;
- приостанавливать интерпретацию командных файлов для осуществления тех или иных действий;
— осуществлять параметризацию командных файлов;
— управлять отображением на экране выполняемых строк командных файлов;
— включать в командные файлы комментарии и метки.
Тем не менее DOS не предоставляет удобных средств для создания интерактивных командных файлов. Для этого требуется разработка специальных программ, выдающих в зависимости от ответа пользователя различные коды возврата. Эти программы включаются в командные файлы, и по возвращаемым ими кодам организуются разветвления.
Перенаправление ввода/вывода
команда > имя_файла - перенаправление в файл сообщений, выводимых с помощью указанной команды. Если файл существует, то он заменяется новым. команда >> имя_файла - перенаправление в файл сообщений, выводимых с помощью указанной команды. Если файл существует, то сообщения добавляются в конец этого файла. команда < имя_файла - чтение входных данных команды (программы) не с клавиатуры, а из файла команда | команда - передача сообщений, выводимых на экран первой команды в качестве входных данных для второй команды.