Команда с ключами
|
Результат и вывод
по способу применения команды
|
1.
|
|
|
Контрольный вопрос:
Как Вы думаете, почему в варианте задания №3 задачи №3.3.1в количество подсчи- танных каталогов с помощью команды For отличается от результата, полученного в фай- ловом диспетчере Total Commander?
Обработка условий в пакетных файлах осуществляется командой If.
Синтаксис команды If:
If [not] errorlevel число команда [else выражение],
If [not] строка1==строка2 команда [else выражение],
If [not] exist имя_файла команда [else выражение],
Если расширения командного интерпретатора разрешены, следует использовать сле- дующий синтаксис:
If [/i] строка1 оп_сравнения строка2 команда [else выражение],
If cmdextversion число команда [else выражение],
If defined переменная команда [else выражение],
где параметр:
not — задает выполнение команды в случае невыполнения условия.
errorlevel число — условие выполняется, если предыдущая команда завершилась с кодом, равным или большим числа. С помощью этого параметра коды завершения можно использовать в качестве условий.
команда обрабатывается в случае выполнения условия.
строка1==строка2 — условие выполняется, если строки1 и 2 совпадают. Строки могут быть заданы явно или могут быть пакетными переменными.
exist имя_файла — условие выполняется, если существует файл с именем имя_файла. Команда If не может применяться непосредственно для проверки существования каталога, но в каждом каталоге существует устройство Nul, которое может быть использовано для этой цели: If exist c:\Mydir\Nul Echo «Каталог существует».
оп_сравнения — трехзначный оператор сравнения, допустимые значения которого приведены в табл. 3.8. Пример: If %errorlevel% LEQ 1 Goto Okay.
/i — сравнивает строки. При использовании /i применительно к конструкции строка1==строка2, где строки состоят из цифр, последние преобразуются в числа, с кото- рыми, в свою очередь, выполняется сравнение.
cmdextversion число — условие выполняется, если номер внутренней версии, связан- ный с расширениями командного интерпретатора, равен или больше числа.
defined переменная — условие выполняется в случае, если переменная определена.
выражение — определяет команду с ключами, выполняемую в случае условия Else.
Таблица 3.8. Допустимые значения оп_сравнения
Оператор
|
Описание
|
Оператор
|
Описание
|
EQU
|
Равно
|
LEQ
|
меньше или равно
|
NEQ
|
не равно
|
GTR
|
Больше
|
LSS
|
Меньше
|
GEQ
|
больше или равно
|
Дополнительная информация по данной команде, а также примеры ее использования доступны в справке ОС (Пуск | Справка и поддержка) в соответствующем разделе. Справку также можно получить, набрав в окне командной оболочки строку If /? и нажав Enter для ввода.
Задача №3.3.1г. Исследовать способы применения команды обработки условия If на конкретных примерах.
Модифицируйте пакетный файл, полученный в предыдущем задании таким образом, чтобы выполнялись следующие условия:
Если не существует каталог D:\Temp\MyFont\, создайте его любым способом, изу- ченным ранее. В противном случае выведите сообщение «Folder exists» (Каталог суще- ствует).
Если в каталоге D:\Temp\MyFont\ не существует файлов-шрифтов, скопируйте лю- бые три одним из методов, изученных ранее, из системного каталога c:\Windows\Fonts\. В противном случае выведите сообщение «Fonts exist» (Шрифты присутствуют).
Если в каталоге D:\Temp\MyFont\ существует файлы, удалите каталог вместе с его содержимым, изученным ранее способом и выведите сообщение «Folder deleted». В против- ном случае выведите сообщение «Folder is empty. Deleting is senseless» (Каталог пуст. Уда- ление бессмысленно).
При выполнении задания используйте следующие инструкции:
по каждому из пунктов задания в командном файле наберите соответствующий код из команд с необходимыми ключами,
сохраните модифицированный пакетный файл,
воспользовавшись командой Start и указав путь к пакетному файлу, запустите его на выполнение, нажав Enter для ввода,
изучите полученный результат и сделайте вывод о проделанной работе,
запишите полученную информацию в отчет (табл. 3.9).
Достарыңызбен бөлісу: |