Консольные команды Windows

  Команды    Утилиты    Комменарии  



   Setlocal

Начало локальных изменений среды для пакетного файла
( запуск локализации изменений среды в файле пакета или сценария )
Начало локализации изменений среды в пакетном файле. Изменения среды,
внесенные после выполнения команды SETLOCAL, являются локальными
относительно текущего пакетного файла. Для восстановления их прежних
значений необходимо выполнить команду ENDLOCAL. При достижении
конца пакетного файла автоматически выполняется команда ENDLOCAL для
всех действующих команд SETLOCAL, выполненных в этом пакетном файле.

SETLOCAL

Изменение команды SETLOCAL при включении расширенной обработки команд:

Команда SETLOCAL принимает необязательные аргументы: ENABLEEXTENSIONS или
DISABLEEXTENSIONS. Это позволяет включить или отключить расширенную обработку
команд до выполнения команды. См. CMD /? для подробного объяснения.
ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION включает или отключает
отложенное расширение переменной среды.  См. SET /? для подробного объяснения.
Эти изменения действуют до совпадения команды ENDLOCAL, независимо от исходного
состояния до вызова команды SETLOCAL.

Если команда SETLOCAL вызывается с аргументом, она устанавливает код ошибки
ERRORLEVEL.  Если указан один из двух допустимых аргументов, код ошибки будет
равен нулю, иначе возвращается значение 1.  Это свойство можно использовать в
пакетных файлах, чтобы определить доступность расширенной обработки команд,
например:

    VERIFY OTHER 2>nul
    SETLOCAL ENABLEEXTENSIONS
    IF ERRORLEVEL 1 echo Не удается включить расширенную обработку

Эта группа команд работает, так как в прежних версиях CMD.EXE команда SETLOCAL
не устанавливает значение ERRORLEVEL. Команда VERIFY с недопустимым аргументом
необходима для установки ненулевого значения ERRORLEVEL.


Описание команды на Docs.Microsoft