Условные обозначения форматирования. Обработка условий в пакетных программах
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 число Условие выполняется, если предыдущая команда, обработанная интерпретатором команд Cmd.exe, завершилась с кодом, равным или большим числа. команда Команда, которая должна быть обработана в случае выполнения условия. строка1==строка2 Условие выполняется, если строки строка1 и строка2 совпадают. Строки могут быть заданы явно или могут быть пакетными переменными (например, %1). Явно заданные строки нет необходимости заключать в кавычки. exist имя_файла Условие выполняется, если существует файл с именем имя_файла. оп_сравнения Трехзначный оператор сравнения. В следующей таблице перечислены допустимые значения оп_сравнения.
/i Сравнение строк без учета регистра знаков. Параметр /i можно использовать в конструкции string1==string2 команды if. Эти сравнения являются общими. Если и строка1, и строка2состоят из цифр, строки преобразовываются в числа и выполняется сравнение чисел. cmdextversion число Условие выполняется, только если номер внутренней версии, связанный с расширениями командного процессора Cmd.exe, равен или больше числа. первая версия имела номер 1. Номер версии увеличивается на 1 при внесении в расширения командного процессора значительных изменений. Условие с cmdextversion не выполняется, если расширения командного процессора запрещены (по умолчанию они разрешены). defined переменная Условие выполняется, если переменная определена. выражение Команда и все ее Параметры для обработке в командной строке при выполнении оператора else. /? Отображение справки в командной строке. Заметки
При использовании команды defined переменная добавляются следующие три переменные: %errorlevel%, %cmdcmdline% и %cmdextversion%. %errorlevel% замещается строковым представлением текущего значения errorlevel, если только уже не существует переменная среды с именем ERRORLEVEL. В этом случае будет использовано ее значение. В следующем примере показано использование значения errorlevel после выполнения пакетной программы: goto answer%errorlevel% Операторы сравнения оп_сравнения также можно использовать следующим образом: if %errorlevel% LEQ 1 goto okay %cmdcmdline% замещается исходной командной строкой, переданной Cmd.exe, до ее обработки в Cmd.exe, если только уже не существует переменная среды с именем cmdcmdline. В этом случае будет использовано значение cmdcmdline. %cmdextversion% замещается строковым представлением текущего значения cmdextversion, если только уже не существует переменная среды с именем CMDEXTVERSION. В этом случае будет использовано ее значение.
Оператор else должен размещаться в той же строке, что и команда if. Пример: IF EXIST имя_файла. ( del имя_файла. ) ELSE ( echo имя_файла. отсутствует. ) Приведенный ниже пример не будет работать, поскольку команда del должна заканчиваться новой строкой: IF EXIST имя_файла. del имя_файла. ELSE echo имя_файла. отсутствует Приведенный ниже пример не будет работать, поскольку команда else должна находиться в той же строке, что и команда if: IF EXIST имя_файла. del имя_файла. ELSE echo имя_файла. отсутствует Если необходимо разместить всю инструкцию в одной строке, можно использовать следующую правильную форму исходной инструкции: IF EXIST имя_файла. (del имя_файла.) ELSE echo имя_файла. отсутствует Примеры Если файл Product.dat не удается найти, появится следующее сообщение: if not exist product.dat echo Не найден файл данных Если в приведенном ниже примере при форматировании диска в дисководе A возникнет ошибка, будет выведено сообщение об ошибке: :begin Если ошибка не возникнет, сообщение об ошибке выведено не будет. Команда if не может быть использована непосредственно для проверки существования каталога, но в каждом каталоге существует устройство (NUL). Следовательно, существование каталога может быть проверено, как показано ниже. В следующем примере проверяется наличие каталога: if exist c:mydir\nul goto process Install Служит для загрузки резидентных программ в память. Для указания программы, которую требуется установить, используйте файл системный_корневой_каталог\System32\Config.nt или эквивалентный файл запуска. Синтаксис install=[диск:][путь] имя_файла [Параметры_команды] Параметры [диск:][путь] имя_файла Имя и местоположение файла резидентной программы для загрузки. Параметры_команды Параметры, передаваемые программе имя_файла. /? Отображение справки в командной строке. Заметки
Примеры Для загрузки программы в память из файла Config.nt используется следующая команда: Install Ipconfig Служит для отображения всех текущих параметров сети TCP/IP и обновления параметров DHCP и DNS. При вызове команды ipconfig без параметров выводится только IP-адрес, маска подсети и основной шлюз для каждого сетевого адаптера. Синтаксис ipconfig [/all] [/renew [адаптер]] [/release [адаптер]] [/flushdns] [/displaydns] [/registerdns] [/showclassid адаптер] [/setclassid адаптер [код_класса]] Параметры /all Вывод полной конфигурации TCP/IP для всех адаптеров. Без этого параметра команда ipconfig выводит только IP-адреса, маску подсети и основной шлюз для каждого адаптера. Адаптеры могут представлять собой физические интерфейсы, такие как установленные сетевые адаптеры, или логические интерфейсы, такие как подключения удаленного доступа. /renew [адаптер] Обновление конфигурации DHCP для всех адаптеров (если адаптер не задан) или для заданного адаптера. Данный параметр доступен только на компьютерах с адаптерами, настроенными для автоматического получения IP-адресов. Чтобы указать адаптер, введите без параметров имя, выводимое командой ipconfig. /release [адаптер] Отправка сообщения DHCPRELEASE серверу DHCP для освобождения текущей конфигурации DHCP и удаление конфигурации IP-адресов для всех адаптеров (если адаптер не задан) или для заданного адаптера. Этот адаптер отключает протокол TCP/IP для адаптеров, настроенных для автоматического получения IP-адресов. Чтобы указать адаптер, введите без параметров имя, выводимое командой ipconfig. /flushdns Сброс и очистка содержимого кэша сопоставления имен DNS клиента. Во время устранения неполадок DNS эту процедуру используют для удаления из кэша записей отрицательных попыток сопоставления и других динамически добавляемых записей. /displaydns Отображение содержимого кэша сопоставления имен DNS клиента, включающего записи, предварительно загруженные из локального файла Hosts, а также последние полученные записи ресурсов для запросов на сопоставление имен. Эта информация используется службой DNS клиента для быстрого сопоставления часто встречаемых имен без обращения к указанным в конфигурации DNS-серверам. /registerdns Динамическая регистрация вручную имен DNS и IP-адресов, настроенных на компьютере. Этот параметр полезен при устранении неполадок в случае отказа в регистрации имени DNS или при выяснении причин неполадок динамического обновления между клиентом и DNS-сервером без перезагрузки клиента. Имена, зарегистрированные в DNS, определяются параметрами DNS в дополнительных свойствах протокола TCP/IP. /showclassid адаптер Отображение кода класса DHCP для указанного адаптера. Чтобы просмотреть код класса DHCP для всех адаптеров, вместо параметра адаптер укажите звездочку (*). Данный параметр доступен только на компьютерах с адаптерами, настроенными для автоматического получения IP-адресов. /setclassid адаптер [код_класса] Задание кода класса DHCP для указанного адаптера. Чтобы задать код класса DHCP для всех адаптеров, вместо параметра адаптер укажите звездочку (*). Данный параметр доступен только на компьютерах с адаптерами, настроенными для автоматического получения IP-адресов. Если код класса DHCP не задан, текущий код класса удаляется. /? Отображение справки в командной строке. Заметки
Примеры Чтобы вывести основную конфигурацию TCP/IP для всех адаптеров, введите: Ipconfig Чтобы вывести полную конфигурацию TCP/IP для всех адаптеров, введите: Ipconfig /all Чтобы обновить конфигурацию IP-адреса, назначенного DHCP-сервером, только для адаптера Подключение по локальной сети, введите: ipconfig /renew "Подключение по локальной сети" Чтобы сбросить кэш сопоставления имен DNS при наличии неполадок в сопоставлении имен, введите: Ipconfig /flushdns Чтобы вывести код класса DHCP для всех адаптеров с именами, начинающимися со слова Подключение, введите: ipconfig /showclassid Подключение* Чтобы задать код класса DHCP TEST для адаптера Подключение по локальной сети, введите: ipconfig /setclassid "Подключение по локальной сети" TEST
Популярное: Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (434)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |