Познакомимся с пакетными файлами или bat-файлами или командными файлами. Основное их назначение – выполнение часто повторяемого набора DOS-команд. При создании bat-файла могут быть использованы любые DOS -команды, а также специальные команды, применяемые только при написании bat-файлов. Пакетный файл – это обыкновенный текстовый файл, в котором в каждой строке стоит одна любая команда DOS.
Например, файл мусору.bat содержит текст:
md a:copy_sys
copy c:*.sys a:copy_sys
– этот командный файл создает на дискете каталог copy_sys и копирует системные файлы из корневой директории диска с: на дискету (в дисководе а:) в каталог copy_sys. Заметим, что в командных файлах можно писать любые из известных Вам команд DOS в любом порядке. Выполняются команды в пакетных файлах именно в том порядке, в каком они записаны. Чтобы запустить командный файл, нужно набрать его имя, то есть мусору.bat . Далее рассмотрим некоторые команды, применяемые именно в пакетных файлах.
Команда CLS - очищает экран
Команда ECHO имеет несколько значений:
ECHO [ON | OFF] – обозначает включение или выключение вывод имен команд на экран при выполнении пакетного файла. Кроме команды ECHO для подавления вывода отдельной команды на экран можно использовать специальный символ @ перед именем команды.
Например: @ MD work.
ECHO [текст] – выводит на экран текст.
Например, ECHO OFF – подавляет вывод на экран команд содержащихся в bat-файле, расположенных ниже команды ECHO OFF.
ЕСНО Hello!!! – выводит на экран строку:
Hello!!!
Команда PAUSE приостанавливает выполнение пакетного файла до нажатия любой клавиши. Например, после выполнения операции копирования Вы можете поставить следующие команды:
ECHO Копирование завершено! Нажмите любую клавишу...
PAUSE
комментарий REM: Если внутри пакетного файла необходимо временно отключить выполнение некоторой команды, не удаляя её, или поместить поясняющий комментарий, то воспользуйтесь командой REM, обозначающей комментарий. Например,
REM COPY con my.txt – при этом команда копирования не должна выполняться, а команда
REM создаем каталог – просто напоминает Вам, что в тексте bat-файла следующая команда создает какой-то каталог.
Пример простейшего пакетного файла с именем my.bat (создайте его в каталоге d:command).
ECHO Введите текущую дату: | – печать сообщения |
DATE | – ввод новой даты |
d: | – переход в корневой каталог диска C: |
MD TMP | – создание каталога TMP |
REM объясните? | – комментарий в файле |
CD TMP | – переход в каталог TMP |
COPY c: c c*.* | – копирование группы файлов из NC в каталог TMP( текущий) |
REN nc*.* ic*.* | – переименование группы файлов |
DEL n?.* | – удаление файлов с именами из двух букв с первой буквой N |
Установка пути поиска исполняемых файлов – PATH (внутренняя команда)
Формат команды: PATH [путь поиска ; путь поиска...]
Команда PATH предназначена для указания ДОС тех мест (директорий) на диске, где будет производится поиск исполняемых файлов (.exe, .com, .bat) при их запуске, если они не найдены в текущем каталоге. Например команда:
PATH C:DOS;C:UTILS – будет указывать, что исполняемые файлы необходимо искать в текущем каталоге, затем, если они там отсутствуют, то продолжать искать в каталогах DOS и UTILS на диске С:. Допустим, у Вас в каталоге UTILS находится файл cyr_vga.com, тогда Вы можете запустить его на исполнение из командной строки, находясь в любом каталоге диска. При этом, DOS сначала просмотрит текущий каталог и, если не найдет файл cyr_vga.com там, то начнет искать его в директориях, указанных в команде PATH.
Системная переменная PATH указывает, какие каталоги заданы в системе для автоматического запуска исполняемых файлов. Для ее просмотра нужно задать команду PATH без параметров. Чтобы не переписывать заново список путей, а только добавить новые, нужно в начале списка путей указать значение существующей переменной path: %PATH% . Например:
path %path%d:;d:work - в этом примере к существующему списку добавляется два каталога: корневой диска d и d:work
PROMPT, ПЕРЕНАПРАВЛЕНИЕ, КОМАНДНЫЕ ФАЙЛЫ С ПАРАМЕТРАМИ,
Примечательной особенностью пакетных файлов является возможность их универсального использования. Допустим Вам необходимо периодически записывать некоторые файлы или каталоги на дискету (одни и тех же, но возможно изменённые), но при этом приходится работать и с дисководом А: и с В: да к тому же создавать на дискетах каталоги с разными именами. Тогда Вы можете создать пакетный файл который будет использовать параметры командной строки, которые помещаются в командную строку после названия пакетного файла и разделяются пробелом.
Например, запуск на выполнение пакетного файла my.bat может выглядеть так:
my.bat d: mydir
В этом примере d: – это первый параметр, mydir – второй.
Внутри пакетного файла вместо параметров используются специальные имена, которые состоят из символа % и номера параметра в командной строке, поэтому порядок написания параметров при запуске очень важен. Например, рассмотрим следующий файл my.bat
%1 | – переход на диск d: |
md %2 | – создание каталога mydir |
c: | – переход на диск C: |
cd ext | – переход в каталог TEXT |
copy *.* %1:%2 | – копирование всех файлов из текущего каталога в каталог mydir на диске d: |