Читайте также: |
|
Довольно часто при работе с ПК бывает необходимо выполнять одни и те же команды DOS для того, чтобы осуществить некоторые периодически выполняемые действия. ОС позволяет записать нужную для этого последовательность команд в специальный файл, называемый командным. Командный файл должен иметь расширение. ВАТ. Командным (пакетным - batch) файлом называется последовательность команд DOS, записанная в текстовом файле и выполняемая путем ввода спецификации этого файла с клавиатуры. Командный файл может содержать любые команды, допустимые в командной строке, и запросы на выполнение программ. Кроме того, имеются дополнительные команды, используемые главным образом в командных файлах. Командные файлы создаются обычно каким-либо текстовым редактором или формируются командой COPY con имя_файла. Для выполнения командного файла необходимо набрать в командной строке его имя и задать, если необходимо, параметры. Прервать выполнение командного файла можно нажатием Ctrl-C или Ctrl-Break. В командном файле можно вызвать другой командный файл, указав его имя.
Средства DOS для поддержки командных файлов позволяют:
Параметризация командных файлов. Часто приходится выполнять одни и те же команды с небольшими изменениями. Параметризация сводится к возможности использования переменных и их означиванию перед запуском командного файла на выполнение. Перед вызовом командного файла задаются аргументы, замещающие параметры. Допускается указывать до девяти параметров с именами %1-%9. Например, пусть необходимо создать командный файл ТЕХТ.ВАТ, осуществляющий печать текстового файла:
TYPE %1 >PRN
Запустить его на выполнение можно строкой:
ТЕХТ DOC1.TXT
При выполнении этого командного файла символ %1 будет заменен на значение первого параметра при вызове командного файла, т.е. вместо %1 будет подставлено DOC1.TXT и будет выполнена команда TYPE DOC1.TXT > PRN. Если в командной строке при вызове задано меньше 9 параметров, то отсутствующие параметры заменяются пустыми строками. Если в командном файле необходимо использовать более девяти параметров, применяется команда SHIFT. В командном файле можно использовать также символ %0, значение которого - имя выполняемого командного файла. Если в командном файле знак % используется не для обозначения параметра, а для других целей, то его надо набирать дважды.
Символ @. По умолчанию команды пакетного файла выводятся на экран перед выполнением. Можно избежать вывода на экран любой отдельной строки файла. Для этого надо поставить в начале этой строки символ @. Например, если в командном файле имеется строка COPY C:\DOC1.TXT A:, то в результате ее выполнения на экран будет выведено сообщение:
C:> COPY C:\DOC1.TXT A:
1 File(s) copied
Если в начале строки поставить символ @, то на экране отобразится только последнее сообщение.
Команда ECHO. Предназначена для включения и выключения эхо-отображения команд на экран.
Echo on - включает режим вывода выполняемых команд на экран;
Echo off - выключает отображение команд.
Команда ЕСНО позволяет выдавать из командного файла сообщения на экран:
ЕСНО сообщение
Сообщение, выдаваемое на экран с помощью этой команды, выводится даже тогда, когда режим вывода исполняемых команд на экран выключен. Сообщение не может быть пустым. Перед командой желательно выполнить команду @echo off, чтобы сообщение не выводилось на экран дважды. С помощью команды ЕСНО можно получить звуковой сигнал компьютера. Для этого следует в сообщение, выводимое этой командой, включить символ с кодом 7. Это можно сделать, нажав клавишу Alt и, не отпуская ее, клавишу 7 в правой части клавиатуры. Для того, чтобы вывести на экран пустую строку, можно использовать команду ЕСНО: или вывести сообщение, состоящие из одного символа с кодом 255.
Пример:
@ECHO OFF
ECHO:
ECHO Командный файл
ECHO выводит текст
ECHO на печать
ECHO:
ECHO ON
Комментарии. Комментарии в командный файл позволяет включать команда REM. Комментарии не интерпретируются как команды во время выполнения файла. Комментарии употребляются для улучшения удобочитаемости командного файла.
REM любые_символы
Если комментарии не желательно выводить на экран, перед ними можно поставит символ @.
Команда PAUSE. Во время выполнения командного файла может возникнуть необходимость его приостановки. Команда pause позволяет приостановить выполнение командного файла и ждать, пока не будет нажата какая-либо клавиша.
PAUSE сообщение
При выполнении этой команды обработка командного файла временно прекращается и выводится сообщение:
Strike a key when ready...
(Нажмите любую клавишу, когда будете готовы)
Если нажать Ctrl-C или Ctrl-Break, будет выведено сообщение:
Terminate batch job (Y/N)?
(Прервать выполнение командного файла, Y-да, N-нет)
При нажатии клавиши N выполнение командного файла будет продолжено, а Y - прекращено.
Команда CALL. Предназначена для вызова одного командного файла из другого с последующим возвратом в точку вызова.
CALL имя_файла [параметры]
Переходы в командном файле. Командный файл может содержать метки и команды переходов, это позволяет управлять порядком выполнения команд в файле. Любая строка, начинающаяся с ":", воспринимается при обработке командного файла как метка. Имя метки определяется набором символов, следующих за двоеточием до следующего пробела или конца строки. Длина метки не ограничена, но DOS учитывает только первые 8 символов.
Команда GOTO. Для того, чтобы указать командному процессору, что требуется продолжить выполнение команд файла начиная со строки, которая следует сразу после некоторой метки, надо воспользоваться командой:
GOTO [:] метка
Если метка в команде GOTO не указана, то процесс пакетной обработки завершается. Команда GOTO предназначена для выполнения безусловного перехода к строке командного файла с заданной меткой. Данная команда позволяет нарушить линейную последовательность выполнения строк командного файла.
Пример:
@ECHO OFF
LABEL переход на метку
ECHO Для остановки нажмите Ctrl-Break
GOTO LABEL
IF - проверка условий в командном файле. Команда IF позволяет в зависимости от выполнения некоторых условий выполнять или не выполнять команды в командном файле.
IF условие команда
Команда - это любая допустимая команда. Эта команда выполняется, если условие в команде IF истинно, в противном случае команда игнорируется. Условие - это одно из приведенных ниже выражений:
ERRORLEVEL число - условие истинно тогда, когда код завершения предыдущей выполненной программы больше заданного числа или равен ему (код завершения устанавливается программами при окончании их работы, по умолчанию этот код равен 0);
строка1 == строка2 - условие истинно тогда, когда строка1 и строк2 полностью совпадают. Если в этих строках имеются символы %0-%9, то вместо этих символов подставляется параметры командного файла;
EXIST имя_файла - условие истинно тогда, когда указанный файл существует;
NOT условие - истинно тогда, когда указанное условие ложно.
Пример:
1. IF NOT EXIST C:\DOC\W.TXT COPY A:\W.TXT C:\DOC
Если файл W.TXT на диске С: не существует, то скопировать его туда.
2. @echo off
if -%1==+ goto no_param
if not exist %1 goto not_exist
type %1
goto exit
:no_param
echo Не задан параметр
goto exit
:not_exist
echo Файл %1 не найден
:exit
Команда FOR, предназначена для организации цикла в командном файле. Она позволяет выполнить программу или команду DOS для нескольких файлов из указанного списка. Команда FOR может употребляться непосредственно в командной строке или в командном файле.
FOR %х IN (список) DOS команда
х - любой символ (кроме 0-9, чтобы не было смешения с параметрами);
список - одно или несколько имен файлов, разделенных пробелами. В именах файлов можно использовать символы * и?;
команда - любая программа или команда DOS, кроме команды For, если в команде употребляется %х, то оно заменяется именами файлов из списка.
При употреблении команды FOR в командном файле символ % должен удваиваться.
Пример:
for %%f in (*.pas *.exe) do comp %%f a:%%f - сравнить
файлы с расширением.pas,.exe из текущего каталога с
такими же файлами на диске а:
for %%d in (*.txt) do type %%d - отобразить
содержимое всех.TXT-файлов в рабочем каталоге.
Команда Shift - сдвиг параметров в командном файле. Присваивает новые значения символам %0-%9. При этом %0 присваивается старое значение %1, %1 - старое значение %2 и т.д. %9 присваивается значение, следующее за старым значением %9 параметра в командной строке, если он не задан, то новое значение %9 - пустая строка.
Команда Shift полезна в одном из трех случаев:
Диалоговые командные файлы. Иногда в командном файле нужно выполнять различные действия по выбору пользователя. Это можно сделать с помощью функции BE программы ASK:
BE ASK "сообщение", список символов
Программа BE выводит указанное сообщение и ждет, когда пользователь введет один из указанных в списке символов. Значение переменной ERRORLEVEL устанавливается равным номеру введенного символа в списке.
Пример:
BE ASK "Запустить редактор WORD [Y/N]?", YN
При ответе N значение ERRORLEVEL устанавливается
равным 2, при ответе Y - равным 1.
IF ERRORLEVEL 2 GOTO EXIT
WORD
:EXIT
Проверки значений переменной ERRORLEVEL следует располагать в порядке убывания значений.
Дата добавления: 2015-10-02; просмотров: 53 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Задание. | | | Утилиты DOS |