Настройка системной переменной PATH. Команда SET - работа с переменными среды Windows Что такое path в windows

Переменная PATH являет собой системную переменную, с помощью которой операционная система находит нужные исполняемые объекты в командной строке или окне терминала. В параметре переменной содержится список (через точку с запятой ; ) директорий, в которых будет происходить поиск исполняемого файла при вызове команды из консоли.

В операционной системе Windows системную переменную PATH можно задать с помощью системной утилиты в Панели управления Windows .

Опишем, как изменить значение переменной PATH в операционной системе Windows 10 .

В меню Пуск выполняем команду Система (Панель управления → Система и безопасность → Система):

Нажимаем на ссылку Дополнительные параметры системы :

Открываем окно Переменные среды:


В разделе Переменные среды и Системные переменные выбераем переменную среды PATH . Нажимаем Изменить . Если переменной PATH не существует, нажимаем Создать .

Для изменения системных переменных окружения, необходимо обладать соответствующими правами. Если таких нет - следует создать пользовательскую переменную.


В окне "Изменить переменную среды " (или Новая системная переменная ) укажите значение переменной среды PATH , после чего подтвердите действие нажатием на кнопку ОК .


Если вы используете переменную PATH не для командной строки, а других приложений, например модуль PHP , следует перезагрузить компьютер.

Добрый день уважаемые читатели и гости блога, сегодня я с вами хочу обсудить вот такую тему, что такое переменные среды Windows, где их можно использовать, как в обычной практике пользователя, так и в практике системного администратора, я вам приведу несколько примеров. Как все это дело настраивается и изменяется под ваши нужны, на мой взгляд это фундаментальные знания, понимание которых вам лучше покажет принцип работы операционных систем семейства Windows.

Что такое переменные среды windows

Давайте разберемся в понятии, и так переменная окружения (environment variable )это специального рода ссылки уменьшенного размера, на определенные объекты операционной системы Windows, используемые разными программами для хранения информации и взаимодействия с ней. Можно провести аналогию с относительными ссылками на сайтах, где нет явного указания на протокол. Чаще всего это пути до конкретных директорий в ОС.

Где используют переменные среды Windows

Приведу несколько примеров:

  • В скриптах > когда нужно например каждому пользователю сделать какую-то настройку, для примера положить на рабочий стол новую папку с документами. Так как для каждого пользователя путь до рабочего стола свой, вида C:\Users\lacky\Desktop, а можно обратиться и по относительному пути за счет переменной %HOMEPATH%, если вы в проводнике введете %HOMEPATH%\Desktop, то попадете на рабочий стол текущего пользователя.

  • в групповой политике, для настройки пользовательских окружений, например перемещаемые профили.
  • Оптимизация кода > если в коде очень часто используются одни и те же пути к файлам или папкам, а так же ключам реестра, вы можете легко назначить короткую переменную для дальнейшего использования. Ниже я вам приведу сводный список по переменным средам windows 10 и предыдущих версий, а так же покажу как их создавать и менять.

Все переменные среды windows 10 и других версий в своем составе имеют специальный оператор %. Он необходим, чтобы операционная система могла обработать поисковый запрос. Простой пример вы ищите папку TEMP и не знаете, где она располагается, вводите %TEMP% и поиск будет на всех локальных дисках и разделах.

Список переменных сред windows 10

Приведенный список, в полной мере подойдет и для Windows 7 и для Windows 8.1, все проверенно лично. Уверен, что данные знания, очень сильно вам помогут оптимизировать свою работу.

  • %ALLUSERSPROFILE% > данная переменная отправит вас в папку C:\ProgramData
  • %windir% > это папка C:\Windows
  • %APPDATA% > вы попадается в скрытую папку C:\Users\Имя_пользователя\AppData\Roaming
  • %CommonProgramFiles% > папка C:\Program Files\Common Files
  • %CommonProgramFiles(x86)% > перекинет вас в C:\Program Files (x86)\Common Files
  • %CommonProgramW6432% > перекинет вас C:\Program Files\Common Files
  • %COMPUTERNAME% > Имя_компьютера, используется скриптах
  • %ComSpec% > откроет командную строку Windows 10 C:\Windows\system32\cmd.exe
  • %HOMEDRIVE% > путь к диску C:
  • %HOMEPATH% > эта переменная среды windows перекинет вас в папку пользователя \Users\Имя_пользователя
  • %LOCALAPPDATA% > эта переменная среды windows перекинет вас в папку C:\Users\Имя_пользователя\AppData\Local
  • %LOGONSERVER% > Имя_компьютера
  • %NUMBER_OF_PROCESSORS% > Количество_процессоров
  • %OS% > Windows_NT, так же используется в скриптах
  • %Path% > C:\Windows\system32;C:\Windows;C:\Windows\System32Wbem;
  • %PATHEXT% .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
  • %PROCESSOR_ARCHITECTURE% > x86 или AMD64, архитектура Windows
  • %PROCESSOR_IDENTIFIER% > Intel64 Family 6 Model 37 Stepping 5, GenuineIntel
  • %PROCESSOR_LEVEL% > 6
  • %PROCESSOR_REVISION% > 2505 (пример)
  • %ProgramData% > папка C:\ProgramData
  • %ProgramFiles% > C:\Program Files
  • %ProgramFiles(x86)% > папка C:\Program Files (x86)
  • %ProgramW6432% > C:\Program Files
  • %PROMPT% > $P$G
  • %PSModulePath% > C:\Windows\system32\WindowsPowerShell\v1.0\Modules\ согласитесь очеь быстро
  • %PUBLIC% > C:\Users\Public
  • %SystemDrive% > диск C:
  • %SystemRoot% > C:\Windows
  • %TEMP% >
  • %TMP% > C:\Users\Имя_пользователя\AppData\Local\Temp (по умолчанию)
  • %USERDOMAIN% > Имя_компьютера
  • %USERDOMAIN_ROAMINGPROFILE% > Имя_компьютера
  • %USERNAME% > Имя_пользователя
  • %USERPROFILE% > C:\Users\Имя_пользователя

Как вывести список всех переменных Windows

В Windows 10 и других версиях, можно вывести список всех переменных сред Windows, для этого откройте командную строку от имени администратора и введите команду SET. В результате вы получите все переменные среды windows 10 по умолчанию для конкретной операционной системы.

Для удобства вы можете экспортировать весь этот список в текстовый файл, для этого введите:

set > D:\Variables.txt

Вот содержимое данного документы.

Еще одним методом посмотреть переменные операционной системы, выступает реестр Windows. Нажимаем WIN+R и вводим regedit. В открывшемся окне редактор реестра, перейдите в ветку:

Для просмотра переменных для компьютера

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

Для просмотра переменных для пользователя

HKEY_CURRENT_USER\Environment

Создаем переменные среды windows 10

ПО мимо уже имеющихся переменных Windows 10, вы можете создать и новые, это очень легко и не запрещается. Что от вас требуется, вам необходимо зайти в свойства системы. Тут несколько методов, если мы говорим про Windows 10, то можно сделать через правый клик по кнопке "Пуск", выбрав пункт система.

Универсальный метод, это зайти в свойства моего компьютера или нажать сочетание клавиш WIN+Pause Breake .

С окне свойства системы, вы должны перейти в пункт "Дополнительные параметры системы"

И перед вами два вида переменных сред Windows:

  • Временные переменные temp
  • Системные переменные

И те и другие можно легко изменить или создать.

Для примера я создам новую системную переменную, назову ее SYSPREP и укажу путь до папки C:\Windows\System32\Sysprep

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

Те, кто хоть раз пользовался утилитами командной строки, знают, что намного удобней набирать команду сразу, не используя при этом путь к этой утилите, и даже не переходя в нужный каталог, поэтому сегодня поговорим о системной переменной path в Windows , узнаем, для чего она нужна, и как ее можно изменить.

Сегодня мы не будем разговаривать о том, что такое командная строка и какие стандартные утилиты командной строки есть в Windows, так как об этом мы уже разговаривали в материале Основы командной строки Windows .

Для чего нужна системная переменная path

Системная переменная path нужна нам для того, чтобы мы могли добавлять свои утилиты в командную строку CMD.exe, а если говорить конкретней, то добавлять каталоги, т.е. пути к этим каталогам для того, что ОС могла определить по названию утилиты, где она расположена, и запустить ее.

Если говорить на примере, то допустим, Вы открываете командную строку, набираете команду ipconfig (служит для конфигурирования сетевых интерфейсов ) и в момент запуска командная строка не знает, где располагается данная утилита, поэтому она начинает ее искать. Сначала в текущем каталоге, затем в системных каталогах, которые как раз, и указаны в системной переменной path. Другими словами, если Вы написали свою консольную программу и хотите ее запустить так же, как ipconfig, то у Вас это не получиться, так как ОС не знает, где же лежит сама программа. Поэтому нам нужно переходить в каталог с программой или писать полный путь к исполняемому файлу, для того чтобы запустить свою утилиту. Поэтому, если Вы часто пользуетесь какой-нибудь консольной программой, которой нет, в стандартной сборке Windows и не хотите копировать ее в системные каталоги, то лучше всего будет создать свой каталог и добавить его в системную переменную path.

Пример

Допустим, мы написали консольную программу, для примера у нас это будет простой bat файл со следующей простой командой:

Echo Привет! Pause

Примечание! Если Вы хотите, чтобы в командной строке выводилась кириллица, то сохраните бат файл с кодировкой OEM 866, это можно сделать с помощью текстового редактора Notepad++ .

Сохраним с названием privet.bat на диске C в каталоге test.

Теперь мы запускаем командную строку (ОС Windows 7) «Пуск -> Выполнить -> cmd» .

И сразу попробуем запустить нашу утилиту, и посмотрим, что у нас из этого выйдет:

Как видите, командная строка не знает что это за программа. Мы, конечно, можем написать по-другому, например:

Т.е. с указанием полного пути к утилите, то тогда она конечно запустится. Или также можно перейти в каталог test и уже от туда запустить утилиту, например:

В данном случае программа тоже запустится. Но согласитесь, что это все лишние движения, тем более, если мы собираемся использовать эту программу достаточно часто. Поэтому давайте изменим системную переменную path.

Примечание! Если Вам не нравится фон или цвет шрифта командной строки, то Вы легко можете изменить его, а как мы с Вами разговаривали в статье Настройка внешнего вида командной строки Windows .

Изменяем системную переменную path в Windows 7

Для этого открываем «Панель управления -> Система -> Дополнительные параметры системы».

Затем выбираем «Переменные среды ».

После у Вас откроется окно «Переменные среды » и Вы в нижней части окна в списке «Системных переменных » ищите переменную path и жмете «Изменить» .

В итоге у Вас откроется небольшое окошко «Изменение системной переменной », где Вы в поле «Значение переменной » дописываете в конце через точку запятой, путь к каталогу, в котором Вы будете хранить свои консольные утилиты. Например, я указал C:\test. После ввода жмем «ОК».

А теперь давайте проверим. Будем делать в точности, как и в первый раз, т.е. открываем командную строку и сразу пишем privet.bat и смотрим

Как видите, на этот раз у нас все заработало, даже без указания полного пути.

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

Я думаю достаточно, если есть вопросы, задавайте в комментариях. Удачи!

Инструкция

Нажмите правой кнопкой мыши на значке «Мой компьютер», расположенном на рабочем столе или в меню «Пуск». В появившемся контекстном меню выберите самую нижнюю строку «Свойства» – откроется новое окно «Свойства системы». Вы также можете вызвать окно «Свойства системы» нажатием сочетания горячих клавиш Windows+Pause Break. Если вы используете операционную систему Windows 7, то также кликните на правой кнопкой мыши на значке «Мой компьютер», выберите пункт «Свойства», после чего в левой части окна свойств выберите «Дополнительные параметры системы».

В окне «Свойства системы» перейдите на вкладку «Дополнительно», кликнув на ней левой кнопкой мыши – вы увидите три раздела дополнительных настроек системы. Под ними будут располагаться еще две кнопки – «Переменные среды» и «Отчет об ошибках». Вам нужны переменные среды – кликните на соответствующей кнопке.

В окне «Переменные среды» расположены две категории переменных, одна из которых – переменные среды пользователя, а другая – . Найдите переменную path в списке системных переменных и выделите ее нажатием левой кнопки мыши.

Теперь при выделенной переменной path нажмите на кнопку «Изменить», расположенную под окошком списка – откроется небольшое окошко «Изменение системной переменной», где будут расположены две строки ввода – «Имя переменной» и «Значение переменной». Измените значение переменной path на то, которое вы хотите.

По-другому изменить значение переменной path можно следующим образом: в окне «Переменные среды» нажмите на кнопку «Создать», после чего в открывшемся окошке в поле «Имя переменной» введите «path» и в поле «Значение переменной» введите нужное значение. При этом текущее значение переменной path сменится на то, которое вы только что ввели.

Видео по теме

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

Инструкция

Кликните иконку «Мой компьютер» на рабочем столе правой кнопкой мыши и выберите пункт «Свойства» во всплывшем контекстном меню. Это же можно проделать и с пунктом «Компьютер» в главном меню операционной системы на кнопке «Пуск». А можно просто нажать сочетание горячих клавиш win + pause - любое из этих действий запустит компонент ОС с названием «Свойства системы».

Перейдите на вкладку «Дополнительно» открывшегося окна и нажмите кнопку «Переменные среды», размещенную в ее нижней части. Запустится еще одно окно с размещенными в нем двумя таблицами - нужная вам установка операционной системы помещается в верхней («Переменные среды пользователя»). Выделите строку, у которой в колонке «Переменная» присутствует надпись Path, а затем нажмите кнопку «Изменить» под этой таблицей. В результате откроется третье, уже последнее диалоговое окно с заголовком «Изменение пользовательской переменной» и двумя полями для заполнения.

Впишите нужный путь в поле «Значение переменной». Если в нем уже есть какая-либо запись, то новую допишите справа, отделив ее от существующей точкой с запятой (;). Чтобы не ошибиться в написании полного адреса к нужному каталогу лучше скопировать путь к нему в Проводнике Windows - откройте его (win + e), перейдите в нужную папку, выделите полный путь в адресной строке файл-менеджера (ctrl + a), скопируйте (ctrl + c), вернитесь в диалоговое окно и вставьте содержимое буфера обмена (ctrl + v) в поле «Значение переменной».

Оставьте без изменений значение в поле «Имя переменной» (там должна остаться надпись Path) и нажмите кнопку OK. После этого последовательно понажимайте такие же кнопки OK и в двух других открытых окнах. На этом процедура добавления нового значения в переменную Path будет завершена.

Видео по теме

Все мобильные телефоны Nokia изготовлены на платформах S40 и S60. Это означает, что на них автоматически интегрированы java-машины. Поэтому, чтобы поместить на такой телефон приложение J2ME, нужно всего лишь скопировать его во встроенную память телефона или на карту памяти.

Инструкция

Запустите интернет-браузер вашего мобильного телефона Nokia, чтобы поставить яву. Вам нужно скачать файл формата JAR. Для других телефонов понадобилось бы еще скачивать файл формата JAD. Однако, вследствие большего спроса именно на этот тип файла, вам будет проще скачать именно его.

Обратите внимание, что автоматически с файлом формата JAD на ваш телефон также будет скачан файл формата JAR. Используйте встроенный браузер телефона, если он изготовлен на платформе S40. Это нужно для того, чтобы после скачивания файл автоматически установился. Т.е. установить яву необходимость уже отпала. Зайдите в раздел «Игры» или «Приложения». В списке программ вы найдете только что установленный файл.

Сделайте следующее, чтобы установить ява-приложение, если в вашем есть карта памяти. Выключите телефон. Извлеките из него карту памяти. Возьмите картридер. С его помощью подключите телефонную карту памяти к компьютеру. Скопируйте все интересующие вас приложения ява в соответствующую папку. После этого корректно извлеките карту памяти и вставьте ее в телефон.

Сделайте следующее, если ваш телефон выполнен на платформе S60. Запустите встроенный браузер вашего мобильного телефона. Скачайте нужный файл формата JAR или JAD. Можно использовать и браузер сторонних разработчиков, такой как Opera Mobile, Opera Mini или какой либо другой. Вся в том, что встроенный браузер автоматически сохранит файл в папку UCDownloaded, а сторонним браузером вы можете задать любую папку в качестве места сохранения на карте памяти вашего мобильного телефона.

Для корректной установки извлеките карту памяти из мобильного телефона. С помощью картридера подключите ее к вашему персональному компьютеру. Затем установите JAR файл в папку приложений на карте памяти. Установка длится не долго и не должна вызвать никаких осложнений. После того как она завершится, извлеките карту памяти, вставьте ее в телефон.

Выполнение операции установки переменной окружения (среды) может быть осуществлено пользователем стандартными средствами операционной системы Microsoft Windows и не предполагает привлечения дополнительного программного обеспечения сторонних разработчиков.

    Команда SET используется для просмотра и изменения переменных среды окружения в командной строке Windows. Переменные окружения - это переменные, принимаемые значения которых характеризуют среду, в которой выполняется текущая программа - пути системных файлов, сведения об аппаратных средствах, каталоги пользователя и т.п. Значения переменных среды формируются в процессе загрузки Windows, регистрации пользователя в системе, при выполнении отдельных процессов или с помощью команды SET . Для просмотра значения, принимаемого конкретной переменной можно воспользоваться командой:

SET переменная
SET PATH - отобразить значение переменной PATH
Для создания новой переменной, или изменения значения существующей, используется команда:

SET переменная=строка

переменная - Имя переменной среды.
строка - Строка символов, присваиваемая указанной переменной.

SET MyName=Vasya - установить значение переменной MyName

SET path=C:\progs;%path% - изменить значение переменной PATH , добавив в начало строки C:\progs

Значение, принимаемое переменной, доступно для обработки в командных файлах, при использовании ее имени, заключенного в знаки процента - % . Например команда выдачи текста на дисплей ECHO в виде:

ECHO date - выведет на экран слово "date", а команда
ECHO %date% выведет на экран значение переменной date , т.е. текущую дату в формате операционной системы.

Команда SET без параметров используется для вывода текущих значений переменных среды.

ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\Usr\AppData\Roaming
CommonProgramFiles=C:\Program Files\Common Files
COMPUTERNAME=TEST7
ComSpec=C:\windows\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\Usr
LOCALAPPDATA=C:\Users\Usr\AppData\Local
LOGONSERVER=\\TEST7
NUMBER_OF_PROCESSORS=2
OS=Windows_NT
Path=C:\windows\system32;C:\windows;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS; .VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 15 Model 3 Stepping 4, GenuineIntel
PROCESSOR_LEVEL=15
PROCESSOR_REVISION=0304
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\windows\system32\Windows PowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
SystemDrive=C:
SystemRoot=C:\windows
TEMP=C:\Users\Usr\AppData \Local\Temp
TMP=C:\Users\Usr\AppData \Local\Temp
USERDOMAIN=test7
USERNAME=Usr
USERPROFILE=C:\Users\Usr
windir=C:\windows

Кроме переменных, отображаемых в списке, при вызове команды SET, существуют и другие, значения которых изменяется динамически:

%CD% - принимает значение текущего каталога.
%DATE% - принимает значение текущей даты.
%TIME% - принимает значение текущего времени.
%RANDOM% - значение случайного числа в диапазоне между 0 и 32767.
%ERRORLEVEL% - текущее значение ERRORLEVEL, специальной переменной, которая используется в качестве признака результата выполнения программы.
%CMDEXTVERSION% значение версии расширенной обработки команд CMD.EXE.
%CMDCMDLINE% - раскрывается в исходную командную строку, которая вызвала командный процессор.

Если при вызове команды SET указать только часть имени, то будет выведен список переменных, имена которых начинаются с указанной строки. Например:

SET U - выведет значения всех переменных, имена которых начинаются с "U".

Команда SET поддерживает два дополнительных ключа:

SET /A выражение

SET /P variable=

Ключ /A указывает, что строка справа от знака равенства является числовым выражением, значение которого вычисляется. Обработчик выражений очень прост и поддерживает следующие операции, перечисленные в порядке убывания приоритета:

При использовании любых логических или двоичных операторов необходимо заключить строку выражения в кавычки. Любые нечисловые строки в выражении рассматриваются как имена переменных среды, значения которых преобразуются в числовой вид перед использованием. Если переменная с указанным именем не определена в системе, вместо нее подставляется нулевое значение. Это позволяет выполнять арифметические операции со значениями переменных среды, причем не нужно вводить знаки % для получения значений. Если команда SET /A вызывается из командной строки, а не из пакетного файла, она выводит окончательное значение выражения. Слева от любого оператора присваивания должно стоять имя переменной среды. Числовые значения рассматриваются как десятичные, если перед ними не стоит префикс:

0x - для шестнадцатеричных чисел
0 - для восьмеричных чисел.

Пример использования префиксов:

SET /A REZ=0xA+012
ECHO %REZ%

В данном командном файле значение переменной REZ вычисляется сложением числа 10, представленного в шестнадцатеричном виде (0xA) и числа 10 , представленного в восьмеричном (012).

Ключ /P позволяет установить значение переменной для входной строки, введенной пользователем. Показывает указанное приглашение promptString перед чтением введенной строки. Приглашение promptString может быть пустым. Данный ключ позволяет организовать диалог с пользователем в командном файле:

@ECHO OFF
SET /P NAME=Введите имя пользователя:
SET /P pass=Введите пароль:
ECHO Имя пользователя - %NAME% , Пароль - %PASS%

В командных файлах довольно часто требуется работать с частью значения, принимаемого переменной, для чего используются подстановочные значения:

переменная:строка1=строка2 - заменяет в принимаемом значении переменной строку1 на строку2

Следующий командный файл использует замену символа "точка" на символ "тире" в значении переменной, соответствующем текущей дате:

@ECHO OFF
set tm=%DATE%
ECHO Дата1 = %tm%
SET tm=%DATE:.=-%
ECHO Дата2 = %tm%

Для выделения части значения, принимаемого переменной, используется следующая конструкция:

переменная:~x,y - где x - число пропускаемых символов от начала строки, а y - количество символов, используемых в качестве значения переменной.

Следующий пример использует отображение текущего времени без секунд и долей секунд (только первые 5 символов из стандартного значения переменной TIME):

@ECHO OFF
set tm=%TIME%
ECHO Время1 = %tm%
SET tm=%TIME:~0,5%
ECHO Время2 = %tm%

Если значение y (длина) не указана, то используется оставшееся до конца строки значение переменной. Если значение y отрицательно, то используется часть строки значения переменной от конца. Предыдущий пример можно изменить, указав, что в принимаемом значении времени отбрасываются 6 символов от конца:

@ECHO OFF
set tm=%TIME%
ECHO Время1 = %tm%
SET tm=%TIME:~0,-6%
ECHO Время2 = %tm%

Возможно использование число пропусков не задано, и используется отрицательное число, то принимаемое значение будет частью переменной от конца строки:

%PATH:~-10% - извлечет последние 10 символов переменной PATH

Нулевое значение можно не указывать, сохраняя формат подстановки:

%PATH:~0,-2% эквивалентно %PATH:~,-2%

При использовании переменных окружения в командных файлах существует определенное ограничение, связанное с тем фактом, что присваиваемое значение остается без изменения при его модификации внутри группы команд, задаваемой скобками, например в командах IF или FOR . Для обхода данного ограничения используется запуск командного процессора с параметром /V:ON и вместо знаков процента, для получения принимаемого переменной значения, используются восклицательные знаки. Кроме того, существует возможность использовать стандартный запуск командного процессора, но с локальным включением данного режима командой:

Разница в результатах использования значений переменных довольно наглядно демонстрируется следующим командным файлом:


@ECHO OFF
set VAR=before
if "%VAR%" == "before" (
set VAR=after
if "!VAR!" == "after" @echo Со знаком процента=%VAR% , Со знаком вопроса=!VAR!

Команда set VAR=after выполняется внутри подпрограммы, ограниченной скобками и, если убрать команду Setlocal EnableDelayedExpansion или не использовать для получения значения переменной VAR восклицательные знаки, ее значение останется старым (тем, что было установлено до входа в подпрограмму). Аналогичная же проблема наблюдается и тогда, когда значение переменной изменяется внутри цикла команды FOR . Например, для получения списка файлов текущего каталога такой командный файл не будет работать:

set LIST=
for %%i in (*) do set LIST=%LIST% %%i
echo %LIST%

Значение переменной LIST внутри цикла изменено не будет. Для того, чтобы это произошло, командный файл нужно изменить следующим образом:

Setlocal EnableDelayedExpansion
set LIST=
for %%i in (*) do set LIST=!LIST! %%i
echo %LIST%

Теперь, значение переменной LIST внутри цикла FOR будет изменяться, последовательно принимая значения имен файлов, разделенных пробелом ( set LIST=!LIST! %%i )

© 2024 magnetic-shop.ru
Безопасность. Интернет. Программы. Ноутбук. Компьютеры