При поддержке компании Mobatime Systems: лидера в разработке, производстве и продаже приборов и систем времени. Подробнее...
Сайт · Форум · Инструменты WindowsFAQ.ru - Сайт о Windows, компьютерах, системном администрировании, локальных сетях

Поиск

Друзья

Клуб любителей ASPLinux
Kerio Winroute Firewall инструкции настройки

Шаблоны

New_WindowsFAQ
Главная arrow FAQ arrow Командная строка arrow Setlocal
Setlocal Версия для печати
Автор SavageNoName   

Начало области задания для определения переменных среды в пакетном файле. Локальное окружение используется до тех пор, пока не встретится команда endlocal или не будет достигнут конец пакетного файла.

Синтаксис

setlocal {enableextension | disableextensions} {enabledelayedexpansion | disabledelayedexpansion}

Аргументы

enableextension Включает расширения командного процессора до появления соответствующей команды endlocal, вне зависимости от состояния расширений командного процессора перед командой setlocal. disableextensions Выключает расширения командного процессора до появления соответствующей команды endlocal, вне зависимости от состояния расширений командного процессора перед командой setlocal. enabledelayedexpansion Включает расширения переменной среды с задержкой до появления соответствующей команды endlocal, вне зависимости от состояния расширений командного процессора перед командой setlocal. disabledelayedexpansion Выключает расширения переменных среды с задержкой до появления соответствующей команды endlocal, вне зависимости от состояния расширений командного процессора перед командой setlocal. /? Отображает справку в командной строке.

Примечания

  • Использование команды setlocal

    Команда setlocal не выполняется при использовании вне сценария или пакетного файла.

  • Изменение переменных среды

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

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

    Команда setlocal устанавливает переменную ERRORLEVEL. При выполнении аргументов {enableextension | disableextensions} или {enabledelayedexpansion | disabledelayedexpansion} переменная ERRORLEVEL имеет значение ноль (0). В противном случае ее значение — 1. Этим можно воспользоваться в пакетных программах для проверки доступности расширений командного процессора, например:

        verify other 2>nul     setlocal enableextensions     if errorlevel 1 echo Включение расширений командного процессора невозможно

    Так как команда cmd не устанавливает значение переменной ERRORLEVEL, когда расширения командного процессора отключены, команда verify устанавливает переменную ERRORLEVEL в ненулевое значение при использовании этой команды с недопустимым аргументом. Если используется команда setlocal с аргументами {enableextension | disableextensions} или {enabledelayedexpansion | disabledelayedexpansion} и значение переменной ERRORLEVEL не 1, расширения командного процессора недоступны.

    Дополнительные сведения о расширениях командного процессора см. в разделе cmd, доступном по ссылке «».

Примеры

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

 

  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
 
< Set   Setver >

Сервер NTP

Время, полученное с NTP-сервера. Для просмотра должен быть разрешён Java-script.
Время, полученное с Вашего компьютера. Для просмотра должен быть разрешён Java-script.

Доступ к серверу NTP первого стратума
Подробнее

На форуме

Лента RSS

Mobatime - Автору - Рекламодателю - Веб-мастеру - Контакт - История - Наверх
© Владислав Семёнов aka SavageNoName 2003-2016
При любом использовании материалов ссылка на WindowsFAQ.ru обязательна
Сайту 12 лет, 7 месяцев и 12 дней. Форуму 15 лет, 11 месяцев и 25 дней.