Мегаобучалка Главная | О нас | Обратная связь


Условные обозначения форматирования. Обработка условий в пакетных программах



2015-11-27 434 Обсуждений (0)
Условные обозначения форматирования. Обработка условий в пакетных программах 0.00 из 5.00 0 оценок




Формат Значение
Курсив Сведения, вводимые пользователем
Полужирный Элементы, вводимые без изменений
Многоточие (...) Параметр может быть введен в командной строке несколько раз
В квадратных скобках ([]) Необязательные элементы
В фигурых скобках ({}); варианты, разделенные вертикальной линией (|), пример: {even|odd} Набор вариантов, из которых необходимо выбрать один
Шрифт Courier Выходные данные программы

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 имя_файла

Условие выполняется, если существует файл с именем имя_файла.

оп_сравнения

Трехзначный оператор сравнения. В следующей таблице перечислены допустимые значения оп_сравнения.

Оператор Описание
EQU равно
NEQ не равно
LSS меньше
LEQ меньше или равно
GTR больше
GEQ больше или равно

/i

Сравнение строк без учета регистра знаков. Параметр /i можно использовать в конструкции string1==string2 команды if. Эти сравнения являются общими. Если и строка1, и строка2состоят из цифр, строки преобразовываются в числа и выполняется сравнение чисел.

cmdextversion число

Условие выполняется, только если номер внутренней версии, связанный с расширениями командного процессора Cmd.exe, равен или больше числа. первая версия имела номер 1. Номер версии увеличивается на 1 при внесении в расширения командного процессора значительных изменений. Условие с cmdextversion не выполняется, если расширения командного процессора запрещены (по умолчанию они разрешены).

defined переменная

Условие выполняется, если переменная определена.

выражение

Команда и все ее Параметры для обработке в командной строке при выполнении оператора else.

/?

Отображение справки в командной строке.

Заметки

  • Если условие, заданное в команде if, выполняется, будет выполнена команда, следующая за условием. Если условие не выполняется, команда, заданная в операторе if, пропускается, а управление переходит к команде оператора else, если она задана.
  • Когда программа завершается, она возвращает код завершения. С помощью параметра errorlevel коды завершения можно использовать в качестве условий.
  • Использование команды defined переменная

При использовании команды defined переменная добавляются следующие три переменные: %errorlevel%, %cmdcmdline% и %cmdextversion%.

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

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

Операторы сравнения оп_сравнения также можно использовать следующим образом:

if %errorlevel% LEQ 1 goto okay

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

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

  • Использование оператора else

Оператор 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
@echo off
format a: /s
if not errorlevel 1 goto end
echo Ошибка при форматировании.
:end
echo Конец пакетной программы.

Если ошибка не возникнет, сообщение об ошибке выведено не будет.

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

if exist c:mydir\nul goto process

Install

Служит для загрузки резидентных программ в память. Для указания программы, которую требуется установить, используйте файл системный_корневой_каталог\System32\Config.nt или эквивалентный файл запуска.

Синтаксис

install=[диск:][путь] имя_файла [Параметры_команды]

Параметры

[диск:][путь] имя_файла

Имя и местоположение файла резидентной программы для загрузки.

Параметры_команды

Параметры, передаваемые программе имя_файла.

/?

Отображение справки в командной строке.

Заметки

  • Команда install следует использовать для загрузки в память резидентной программы непосредственно перед вызовом приложений, для работы которых она необходима. Если резидентная программа загружается в память из файла Autoexec.nt, она будет загружаться при запуске каждого экземпляра командного интерпретатора, что приведет к лишнему расходу памяти.
  • Команда install не может применяться для загрузки программ, использующих переменные окружения, клавиши быстрого вызова или требуют наличия командного интерпретатора Cmd.exe для обработки критических ошибок.

Примеры

Для загрузки программы в память из файла 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 не задан, текущий код класса удаляется.

/?

Отображение справки в командной строке.

Заметки

  • Команда ipconfig является эквивалентом для командной строки команды winipcfg, имеющейся в Windows Millennium Edition, Windows 98 и Windows 95. Хотя Windows XP не имеет графического эквивалента команде winipcfg, для просмотра и обновления IP-адреса можно воспользоваться окном «Сетевые подключения». Для этого откройте окно Сетевые подключения, щелкните правой кнопкой мыши сетевое подключение, выберите команду Состояние, а затем откройте вкладку Поддержка.
  • Данная команда доступна только на компьютерах с адаптерами, настроенными для автоматического получения IP-адресов. Это позволяет пользователям определять, какие значения конфигурации были получены с помощью DHCP, APIPA или другой конфигурации.
  • Если имя адаптер содержит пробелы, его следует заключать в кавычки (т. е. "имя_адаптера").
  • В именах адаптеров, задаваемых для команды ipconfig, поддерживается использование подстановочного знака звездочки (*) для задания имен, начинающихся с указанной строки или содержащих указанную строку. Например, имя Подкл* будет включать все адаптеры, начинающиеся со строки «Подкл», а имя *сет* — все адаптера, содержащие строку «сет».
  • Эта команда доступна, только если в свойствах сетевого адаптера в объекте Сетевые подключения в качестве компонента установлен протокол Интернета (TCP/IP).

Примеры

Чтобы вывести основную конфигурацию TCP/IP для всех адаптеров, введите:

Ipconfig

Чтобы вывести полную конфигурацию TCP/IP для всех адаптеров, введите:

Ipconfig /all

Чтобы обновить конфигурацию IP-адреса, назначенного DHCP-сервером, только для адаптера Подключение по локальной сети, введите:

ipconfig /renew "Подключение по локальной сети"

Чтобы сбросить кэш сопоставления имен DNS при наличии неполадок в сопоставлении имен, введите:

Ipconfig /flushdns

Чтобы вывести код класса DHCP для всех адаптеров с именами, начинающимися со слова Подключение, введите:

ipconfig /showclassid Подключение*

Чтобы задать код класса DHCP TEST для адаптера Подключение по локальной сети, введите:

ipconfig /setclassid "Подключение по локальной сети" TEST



2015-11-27 434 Обсуждений (0)
Условные обозначения форматирования. Обработка условий в пакетных программах 0.00 из 5.00 0 оценок









Обсуждение в статье: Условные обозначения форматирования. Обработка условий в пакетных программах

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (434)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)