Windows set system root

Команда SET — работа с переменными среды Windows

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

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

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

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=[promptString]

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

()
* / %
+ —
>
&
^
|
=
,
— группировка
— арифметические операторы
— арифметические операторы
— двоичный сдвиг
— двоичное И
— двоичное исключающее ИЛИ
— двоичное ИЛИ
— присвоение
— разделитель операторов

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

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

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

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

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

Читайте также:  Pin more для windows

Ключ /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:

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

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

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

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

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

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

Setlocal EnableDelayedExpansion
@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 )

Энциклопедия Windows

Все об использовании и настройке Windows

  • Windata
  • »
  • Windows XP
  • »
  • FAQ [XP]
  • » Преобразование переменной %SystemRoot% в командной строке

Преобразование переменной %SystemRoot% в командной строке

Если при вводе параметров SET или PATH в приглашении командной строки переменная %SystemRoot% не преобразовывается в путь к корневому каталогу, выполните следующие действия.

1. Запустите редактор системного реестра (REGEDT32.EXE).

2. Перейдите в раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment.

3. Обратите внимание на запись PATH в правой панели и проверьте ее тип (вторая часть записи). Например:

Path: REG_EXPAND_SZ: %SystemRoot%

Если в качестве типа указано не REG_EXPAND_SZ, то выполните следующие инструкции. В противном случае, закройте редактор системного реестра.

4. Дважды щелкните на записи Path и выделите ее содержимое. Нажмите комбинацию клавиш для копирования содержимого записи в буфер обмена.

Читайте также:  Как обнаружить второй дисплей windows 10

5. Не снимая выделение с записи Path, выберите команду Удалить (Delete) в меню Правка (Edit) (или нажмите клавишу ). Подтвердите удаление.

6. Убедитесь в том, что в левой панели выделен раздел Environment
и выберите команду Добавить параметр (Add Value) в меню Правка (Edit).

7. Введите имя записи Path (обратите внимание на заглавную букву “P”) и введите значение REG_EXPAND_SZ. Щелкните на кнопке OK.

8. Дважды щелкните на записи Path и нажмите комбинацию клавиш для вставки информации из буфера обмена. Щелкните на кнопке OK.

9. Закройте редактор системного реестра.

Кроме того, можно проверить раздел HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRoot и удостоверится, что значение REG_SZ содержит правильный путь (например, d:\windows).

Переменные среды в Windows: использование, список и таблицы

Переменная среды (environment variable) — текстовая короткая ссылка на элемент операционной системы Windows, предназначенная для получения быстрого доступа к объекту системы, или к данным о каталогах и конфигурации компьютера. Переменная среды (переменная окружения) позволяет быстро перейти к нужному месту на компьютере, без использования имени пользователя или полного пути к объекту.

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

Переменные среды Windows делятся на два вида:

  • Пользовательские переменные среды — содержат указания пути к пользовательским каталогам.
  • Системные переменные среды — содержат информацию о каталогах ОС и конфигурации ПК.

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

Переменные окружения часто используются при написании скриптов, или при работе в командной строке. Короткие переменные можно использовать вместо полного пути до файла или папки, например, при создании ярлыков, при вводе пути к объекту.

Пример использования переменной среды Windows

Рассмотрим следующий пример: пользователю нужно открыть системную папку «AppData», в которой находятся различные данные программ, установленных в операционную систему Windows. Скрытая папка «AppData» находится в профиле пользователя, обычно на диске «C:». Данные приложений расположены по пути:

Чтобы получить доступ к этой папке нужно выполнить несколько последовательных действий: открыть Проводник, включить в Windows отображение скрытых папок и файлов, а затем пройти по всему пути до нужной папки.

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

Чтобы открыть нужный каталог достаточно лишь ввести «%APPDATA%» в поле поиска Windows, в адресную строку Проводника или в диалоговое окно «Выполнить», а затем нажать на клавишу «Enter».

Переменные среды Виндовс заключены в специальный оператор «%», который находится с двух сторон названия переменной. Это необходимо, чтобы система могла обработать запрос.

Пользователь может самостоятельно создавать переменные среды или изменять существующие. В статье мы рассмотрим несколько способов просмотра переменных среды и самостоятельное создание переменной. В руководстве вы найдете таблицу со списком переменных, применяемых в операционных системах Windows 10, Windows 8.1, Windows 8, Windows 7.

Как посмотреть переменные среды Windows 10

Сейчас мы посмотрим, как получить доступ к переменным средам в операционной системе Windows 10. В других версиях Windows необходимо выполнить аналогичные действия.

Чтобы посмотреть переменные окружения Windows 10, выполните следующее:

  1. Нажмите на клавиши» «Win» + «R».
  2. В окне «Выполнить» введите команду: «systempropertiesadvanced» (без кавычек), а затем нажмите на кнопку «ОК».
  3. В окне «Свойства системы», во вкладке «Дополнительно» нажмите на кнопку «Переменные среды…».

  1. В окне «Переменные среды» отображаются пользовательские переменные среды и системные переменные среды.

Доступ к переменным средам из реестра Windows

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

Системные переменные среды находятся по следующему пути:

Читайте также:  Как выключить клавишную навигацию windows 10

Переменные среды локального пользователя расположены в следующей ветке реестра:

Вы можете создать в редакторе реестра новые переменные или изменить существующие.

Как посмотреть все переменные среды в командной строке

Пользователь может получить список переменных среды при помощи системного инструмента — командной строки Windows.

В cmd переменные среды открываются следующим образом:

  1. Запустите командную строку от имени администратора.
  2. Выполните команду:

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

После выполнения этой команды, на Локальном диске «C:» появится текстовый файл с именем «Variables» (имя можно использовать любое), в котором находится список переменных среды Windows.

На моем компьютере файл имеет следующее содержание:

Открытие списка переменных среды в Windows PowerShell

Открытие списка переменных среды возможно при помощи системного средства Windows PowerShell.

Выполните следующие действия:

  1. Запустите Windows PowerShell от имени администратора.
  2. Введите команду, а затем нажмите на клавишу «Enter»:
  1. В окне PowerShell откроется список переменных среды Windows.

Создание переменной среды в Windows

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

  1. В окне «Переменные среды» выберите одну из групп переменных: пользовательские или системные переменные.
  2. Нажмите на кнопку «Создать…».

На этом примере я создам отдельную переменную среды для запуска программы TeamViewer.

  1. В окне «Изменение пользовательской переменной» добавьте имя переменной, а в поле «Значение переменной:» введите полный путь к исполняемому файлу.

  1. В окне переменных сред добавилась новая переменная. Нажмите на кнопку «ОК» для применения изменений.

  1. В диалоговом окне «Выполнить» введите «%Имя_переменной%», в нашем случае, «%TeamViewer%», нажмите на кнопку «ОК».

  1. На Рабочем столе компьютера откроется окно запущенной программы.

Подобным способом, после ввода переменной в адресную строку Проводника, выполняется запуск программы или открытие директории на ПК.

Переменная среды пути «Path» содержит список директорий на компьютере, в которых система должна искать исполняемые файлы. Переменная среды пути «PATH» не добавляется к исполняемым файлам, а только к директориям, где находятся данные файлы.

Если добавить в переменную среды Path Windows путь к директории с исполняемым файлом, например, для браузера Google Chrome: C:Program Files (x86)GoogleChromeApplication , то программа запустится из командной строки, после выполнения команды «chrome», без ввода полного пути к исполняемому файлу.

При необходимости, пользователь может удалить ненужную переменную из операционной системы Windows.

Список переменных среды Windows в таблице

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

Переменная Назначение Значение переменной
%ALLUSERSPROFILE% Папка ProgramData C:\ProgramData
%APPDATA% Папка размещения данных программ C:\Users\User\AppData\Roaming
%CommonProgramFiles% Папка Common Files в Program Files C:\Program FilesCommon Files
%CommonProgramW6432% Папка Common Files в Program Files C:\Program Files\Common Files
%COMPUTERNAME% Имя компьютера DESKTOP-XXXXXXX
%ComSpec% Запуск командной строки C:\WINDOWS\system32\cmd.exe
%DriverData% Папка DriverData C:\Windows\System32\Drivers\DriverData
%HOMEDRIVE% Системный диск C:
%HOMEPATH% Папка профиля пользователя C:\Users\User
%LOCALAPPDATA% Папка локальных данных приложений C:\Users\User\AppData\Local
%LOGONSERVER% Имя контроллера домена \DESKTOP-XXXXXXX
%NUMBER_OF_PROCESSORS% Количество потоков процессора
%OneDrive% Папка OneDrive C:\Users\User\OneDrive
%Path% Путь поиска исполняемых файлов C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;…
%PATHEXT% Исполняемые расширения файлов .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS; .JSE; .WSF; .WSH; .MSC
%PROCESSOR_ARCHITECTURE% Архитектура процессора AMD64; x86; IA64
%PROCESSOR_IDENTIFIER% Описание процессора
%PROCESSOR_LEVEL% Номер модели процессора
%PROCESSOR_REVISION% Ревизия процессора
%ProgramData% Папка ProgramData C:\ProgramData
%ProgramFiles% Папка ProgramFiles C:\Program Files
%ProgramFiles(x86)% Папка ProgramFiles(x86) C:\Program Files (x86)
%ProgramW6432% Папка ProgramFiles C:\Program Files
%PROMPT% Возвращение параметров командной строки
%PSModulePath% Пути к расположению модулей PowerShell C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
%PUBLIC% Папка «Общие» в профиле пользователей C:\Users\Public
%SystemDrive% Системный диск с Windows C:
%SystemRoot% Папка Windows C:\Windows
%TEMP% Временный каталог C:\Users\User\AppData\Local\Temp
%TMP% Временный каталог C:\Users\User\AppData\Local\Temp
%USERDOMAIN% Имя домена DESKTOP-XXXXXXX
%USERNAME% Имя пользователя User
%USERPROFILE% Профиль пользователя C:\Users\User
%Windir% Папка Windows C:\Windows

Выводы статьи

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

Оцените статью