Помощь в написании студенческих работ
Антистрессовый сервис

Связывание времени выполнения для переменных

РефератПомощь в написанииУзнать стоимостьмоей работы

При работе с составными выражениями (группы команд, заключенных в круглые скобки) нужно учитывать, что переменные среды в командных файлах используются в режиме раннего связывания. С точки зрения логики выполнения командного файла это может привести к ошибкам. Например, рассмотрим командный файл 1. bat со следующим содержимым: Данную ошибку можно обойти, если для получения значения переменной… Читать ещё >

Связывание времени выполнения для переменных (реферат, курсовая, диплом, контрольная)

При работе с составными выражениями (группы команд, заключенных в круглые скобки) нужно учитывать, что переменные среды в командных файлах используются в режиме раннего связывания. С точки зрения логики выполнения командного файла это может привести к ошибкам. Например, рассмотрим командный файл 1. bat со следующим содержимым:

SET a=1.

ECHO a=%a%.

SET a=2.

ECHO a=%a%.

и командный файл 2. bat:

SET a=1.

ECHO a=%a%.

(SET a=2.

ECHO a=%a%).

Казалось бы, результат выполнения этих двух файлов должен быть одинаковым: на экран выведутся две строки: «a=1» и «a=2». На самом же деле таким образом сработает только файл 1. bat, а файл 2. bat два раза выведет строку «a=1» .

Данную ошибку можно обойти, если для получения значения переменной вместо знаков процента (%) использовать восклицательный знак (!) и предварительно включить режим связывания времени выполнения командой SETLOCAL ENABLEDELAYEDEXPANSION. Таким образом, для корректной работы файл 2. bat должен иметь следующий вид:

SETLOCAL ENABLEDELAYEDEXPANSION.

SET a=1.

ECHO a=%a%.

(SET a=2.

ECHO a=!a!).

ВНИМАНИЕ! Приведенный материал необходим для правильной работы команды цикла FOR и будет использован в командных файлах!

Приостановка выполнения командных файлов

Для того, чтобы вручную прервать выполнение запущенного bat-файла, нужно нажать клавиши + или +. Однако часто бывает необходимо программно приостановить выполнение командного файла в определенной строке с выдачей запроса на нажатие любой клавиши. Это делается с помощью команды PAUSE. Перед запуском этой команды полезно с помощью команды ECHO информировать пользователя о действиях, которые он должен произвести. Например:

ECHO Вставьте дискету в дисковод A: и нажмите любую клавишу.

PAUSE.

Команду PAUSE обязательно нужно использовать при выполнении потенциально опасных действий (удаление файлов, форматирование дисков и т. п.). Например,.

ECHO Сейчас будут удалены все файлы в C: Мои документы!

ECHO Для отмены нажмите Ctrl-C.

PAUSE.

DEL «C:Мои документы*.*» .

Показать весь текст
Заполнить форму текущей работой