Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб3 операц сист.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
240.64 Кб
Скачать

Примеры

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

rem *******Начало комментария**************

rem Эта программа запускает приложение superapp в сети,

rem записывает вывод в файл и загружает этот файл в программу

rem Блокнот.

rem *******Конец комментария **************

@echo off

setlocal

path=g:\programs\superapp;%path%

call superapp>c:\superapp.out

endlocal

start notepad c:\superapp.out

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

Команда setlocal устанавливает значение errorlevel равным нулю (0), если указан один из двух допустимых аргументов, и единице (1) — в противном случае. Этим можно воспользоваться в пакетных программах для проверки доступности расширений командного процессора, как в приведенном ниже примере:

verify other 2>nul

setlocal enableextensions

if errorlevel 1 echo Разрешение расширений командного процессора невозможно

Поскольку cmd не устанавливает значение errorlevel, если расширения командного процессора запрещены или используются более старые версии Cmd.exe, команда verify с недопустимым аргументом устанавливает errorlevel в ненулевое значение. Если команда setlocal, разрешающая расширения, не устанавливает значение errorlevel в единицу, то расширения командного процессора недоступны

Используйте команду setlocal для изменения переменных среды во время исполнения пакетного файла. Изменения среды, выполненные после setlocal, являются локальными для пакетного файла. Предыдущие установки восстанавливаются или после выполнения команды endlocal, или после достижения конца пакетного файла.

Допускается использование нескольких (вложенных).команд setlocal и endlocal в пакетной программе

Endlocal

Окончание использования локального окружения в пакетной программе, восстановление значений переменных среды, имевшихся до выполнения соответствующей команды setlocal.

В конце пакетного файла присутствует неявная команда endlocal.

Если расширения командного процессора разрешены (используются в Windows 2000 по умолчанию), команда endlocal восстанавливает состояния разрешения/запрещения расширений команд, существовавшие до выполнения соответствующей команды setlocal.

Пример

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

@echo off

rem Эта программа запускает приложение superapp в сети,

rem записывает вывод в файл и загружает этот файл в программу

rem Блокнот.

setlocal

path=g:\programs\superapp;%path%

call superapp>c:\superapp.out

endlocal

start notepad c:\superapp.out

Shift

Изменение положения замещаемых переменных в пакетных файлах.

shift

Если расширения командного процессора разрешены (используются в Windows 2000 по умолчанию), команда shift поддерживает ключ /n, который указывает команде начинать сдвиг с n-го аргумента, где n — число от нуля до восьми. Например,

SHIFT /2

сдвинет %3 на %2, %4 на %3 и т. д. %0 и %1 останутся неизменными.