Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


ECHO Слияние файлов завершено




При запуске файла QQQ командой " QQQ.bat Dir1 Name1 Name2 "его переменные %1, %2 и %3 получат значения соответственно Dir1, Name1 и Name2. При выполнении второй команды этого файла в подкаталог Dir1 будет скопирован файл Name1 под именем Name2. Команда CALL запустит на выполнение файл PPP.bat, передав ему в качестве первого параметра текстовую константу File_1, в качестве второго параметра – значение переменной %3 файла QQQ.bat (то есть Name2), а в качестве третьего параметра – значение первого параметра файла QQQ.bat (то есть Dir1). В результате переменные %1, %2 и %3 файла PPP.bat получат значения соответственно File_1, Name2 и Dir1, и два соответствующих файла будут соединены и сохранены в файле Name2, зарегистрированном в каталоге Dir1. После завершения работы файла PPP.bat будет выполнена команда TYPE файла QQQ.bat, которая выведет на экран содержимое файла Name2.

Можно запустить bat-файл из другого bat-файла и без команды CALL (например, вместо строки CALL PPP.bat File_1 %3 %1 записать строку PPP.bat File_1 %3 %1). Однако, в этом случае после завершения работы вложенного bat-файла PPP.bat не произойдет возврата к следующей строке исходного bat-файла QQQ.bat.


Команда GOTO <метка> - безусловный переход к строке с указанной меткой, то есть строке, которая начинается с двоеточия, после которого следует текст <метка>(не более 8 символов).

Команда IF <условие><команда>

или IF NOT<условие><команда>

Заданная <команда> будет выполнена в том случае, если <условие> истинно (или ложно). После завершения выполнения <команды> выполняется следующая строка командного файла. Если заданное <условие> ложно (или истинно), заданная <команда> не выполняется, и сразу выполняется следующая строка командного файла.

Параметр <условие> может иметь одну из следующих форм:

· EXIST <спецификация файла> - истинно, если файл существует;

· NOT EXIST <спецификация файла> - истинно, если такого файла нет;

· <строка1>==<строка2> - истинно при полном совпадении заданных символьных строк. Если в этом условии вместо строк используются переменные (%0... %9), то при выполнении команды на их место будут подставлены значения соответствующих параметров. Например: %n==<строка> - проверка совпадения n -го параметра с заданной текстовой строкой; %n==%m - проверка совпадения значений двух параметров. При сравнении параметров следует учитывать, что переменные, соответствующие отсутствующим параметрам, будут представлены символом "пробел", что может привести к ошибкам при выполнении bat-файлов, так как "пустые" параметры интерпретатором не обрабатываются. Для исключения таких ошибок при выполнении операций сравнения значений переменных с "пустыми" параметрами можно использовать при записи условий два одинаковых дополнительных символа (например, знак "минус") в левой и правой частях условия сравнения: например, условие -%n==- будет истинным, если n -й параметр пуст.

Errorlevel <значение>. Процедуры выполнения некоторых внутренних и внешних команд, завершая свою работу, формируют определенное числовое значение специальной системной переменной ERRORLEVEL (в переводе - "уровень ошибки"), называемой кодом завершения программы. Значение переменной ERRORLEVEL, сформированное последней из выполняемых программ, хранится в памяти ПК и может быть использовано другими программами, а также командой IF < условие> <команда > в составе параметра <условие>. Например, условие "ERRORLEVEL 5" будет "истинным", если переменная ERRORLEVEL получила значение, равное или большее 5.

Примеры кодов завершения некоторых программ, реализующих внешние команды, приведены в таблице 1.3.


Таблица 1.3 - Коды завершения программ

Команда Errorlevel Условие завершения программы
FORMAT 1, 2 3, 5 Успешное форматирование диска Неопределенная ошибка Форматирование прервано пользователем Фатальная (неисправимая) ошибка
XCOPY   Успешное копирование Не найдено файлов Копирование прервано пользователем Ошибка инициализации (не хватает памяти, не найден путь и др.)
DISKCOPY   Успешное копирование Ошибка ввода-вывода Копирование прервано пользователем Фатальная ошибка Ошибка инициализации (не хватает памяти, неправильный синтаксис)
REPLACE   Успешное завершение Не найдены входные файлы Не найден входной или выходной каталог Доступ к файлу или каталогу запрещен Нехватка памяти Неправильный формат команды Неправильный диск Неправильная версия DOS
CHOICE ... n Пользователем выбран 1-й пункт меню Пользователем выбран 2-й пункт меню ... Пользователем выбран n-й пункт меню

В приведенном ниже фрагменте текста bat-файла команда IF анализирует числовое значение кода завершения программы форматирования диска и выдает соответствующее сообщение.

Format A:

If Errorlevel 4 Echo Можете смело выбрасывать свою дискету!

GoTo Exit





Поделиться с друзьями:


Дата добавления: 2015-11-05; Мы поможем в написании ваших работ!; просмотров: 565 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Наглость – это ругаться с преподавателем по поводу четверки, хотя перед экзаменом уверен, что не знаешь даже на два. © Неизвестно
==> читать все изречения...

2675 - | 2239 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.