Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Использование команды if для проверки наличия каталога




Примеры

If

Примеры

Echo

Вывод на экран сообщения или задание режима вывода на экран сообщений команд.

echo [ on | off ] [ сообщение ]

Параметр Описание
on | off Включение или отключения режима отображения на экране информации о работе команд. Для вывода текущего режима используется команда echo без параметров.
сообщение Задает текст для вывода на экран

Следующий пример представляет собой пакетный файл, выводящий сообщение из трех строк на экран с пустыми строками до и после него:

echo off
echo.
echo Эта пакетная программа
echo форматирует и проверяет
echo новые диски
echo.

Если требуется отключить режим отображения команд и при этом не выводить на экран строку самой команды echo, следует использовать знак @ перед командой, как показано ниже:

@echo off

Оператор if и команда echo могут быть использованы вместе в пакетной программе:

if exist *.rpt echo Отчет получен.

Обработка условий в пакетных программах. Если условие, заданное в команде if выполняется, будет выполнена команда, следующая за условием. Если условие не выполняется, Windows 2000 игнорирует команду в предложении if и выполняет команду в предложении else, если оно указано.

Типы условий:

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 число Условие выполняется, если предыдущая команда, обработанная интерпретатором команд Cmd.exe, завершилась с кодом, равным или большим числа.
команда Задает команду, которая будет выполнена, если условие выполняется.
строка1 == строка2 Условие выполняется, если строки строка1 и строка2 совпадают. Строки могут являться символьными выражениями или пакетными переменными (например, %1). Символьные строки не требуют кавычек.
exist имя_файла Условие выполняется, если существует файл с именем имя_файла.
оп_сравнения один из перечисленных ниже трехбуквенных операторов сравнения: EQU ‑ равно NEQ ‑ не равно LSS ‑ меньше LEQ ‑ меньше или равно GTR ‑ больше GEQ ‑ больше или равно
/i Если указан ключ /i, сравнение строк производится без учета различия строчных и прописных букв. Ключ /i также может быть использован в форме строка1==строка2 команды if. Эти сравнения являются общими. Если и строка1, и строка2 состоят из цифр, строки преобразовываются в числа и выполняется сравнение чисел.
cmdextversion число Условие с cmdextversion действует аналогично errorlevel, но производит сравнение с внутренним номером версии расширения командного процессора Cmd.exe. Первая версия имеет номер 1. Номер будет увеличиваться на единицу при внесении существенных дополнений в расширения команд. Условие с cmdextversion не выполняется, если расширения командного процессора запрещены.
defined переменная Условие с defined действует аналогично exist, но является истинным, когда определена указанная переменная среды. Это условие добавляет три переменные: %errorlevel%, %cmdcmdline% и %cmdextversion%.    
выражение В предложении else выражение состоит из команды Windows 2000 и любых параметров этой команды.  

Примечания

%errorlevel% замещается строковым представлением текущего значения errorlevel, если только уже не существует переменная среды с именем ERRORLEVEL. В этом случае будет использовано ее значение. Приведенный ниже пример иллюстрирует использование errorlevel после запуска программы:

goto answer%erorlevel%:answer0 echo Код возврата программы равен 0:answer1 echo Код возврата программы равен 1

Также можно использовать операторы сравнения, перечисленные выше в описании параметра оп_сравнения:

if %errorlevel% LEQ 1 goto okay

%cmdcmdline% замещается исходной командной строкой, переданной в Cmd.exe, до ее обработки в Cmd.exe, если только уже не существует переменная среды с именем cmdcmdline. В этом случае будет использовано ее значение.

%cmdextversion% замещается строковым представлением текущего значения cmdextversion, если только уже не существует переменная среды с именем CMDEXTVERSION. В этом случае будет использовано ее значение.

Использование команды if для проверки наличия файла:

if not exist product.dat echo Не найден файл данных

Использование if для выдачи сообщения при возникновении ошибки при форматировании диска A:

:begin @echo off format a: /s if not errorlevel 1 goto end echo Ошибка во время форматирования диска.:end echo Конец пакетной программы. Если ошибки не обнаружены, сообщение об ошибке пропускается. if exist c:mydir\nul goto process

Примечание: Команда if не может быть использована для проверки существования каталога непосредственно, но в каждом каталоге существует устройство (NUL).

Использование предложения else:

Предложение else должно размещаться в той же строке, что и команда if. Например:

 

IF EXIST filename. (del filename.) ELSE (echo filename. отсутствует.)

Приведенные ниже примеры не будут работать:

· IF EXIST filename. del filename. ELSE echo filename. Отсутствует · IF EXIST filename. del filename. ELSE echo filename. отсутствует

Если необходимо разместить всю инструкцию в одной строке, можно использовать следующую правильную форму исходной инструкции:

IF EXIST filename. (del filename.) ELSE echo filename. отсутствует



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


Дата добавления: 2017-02-01; Просмотров: 148; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.016 сек.