Переменные для скриптов для доступа в папки пользователя и системы
В таблице перечислены системные и локальные переменные среды для Windows, работает в версиях от XP до 10.
Переменная | Тип | Описание |
---|---|---|
%ALLUSERSPROFILE% | Локальная | Возвращает размещение профиля «All Users». |
%APPDATA% | Локальная | Возвращает используемое по умолчанию размещение данных приложений. |
%CD% | Локальная | Возвращает путь к текущей папке. |
%CMDCMDLINE% | Локальная | Возвращает строку команд, с помощью которой был запущен данный экземпляр Cmd.exe. |
%CMDEXTVERSION% | Системная | Возвращает номер версии текущих расширений обработчика команд. |
%COMPUTERNAME% | Системная | Возвращает имя компьютера. |
%COMSPEC% | Системная | Возвращает путь к исполняемой командной оболочке. |
%DATE% | Системная | Возвращает текущие данные. Использует тот же формат, что и команда date /t. Создается командой Cmd.exe. |
%ERRORLEVEL% | Системная | Возвращает код ошибки последней использовавшейся команды. Значение, не равное нуля, обычно указывает на наличие ошибки. |
%HOMEDRIVE% | Системная | Возвращает имя диска локальной рабочей станции, связанного с основным каталогом пользователя. Задается на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы». |
%HOMEPATH% | Системная | Возвращает полный путь к основному каталогу пользователя. Задается на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы». |
%HOMESHARE% | Системная | Возвращает сетевой путь к общему основному каталогу пользователя. Задается на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы». |
%LOGONSEVER% | Локальная | Возвращает имя контроллера домена, который проверял подлинность текущей сессии. |
%NUMBER_OF_PROCESSORS% | Системная | Задает количество процессоров, установленных на компьютере. |
%OS% | Системная | Возвращает имя операционной системы. При использовании Windows 2000 имя операционной системы отображается как Windows_NT. |
%PATH% | Системная | Указывает путь поиска для исполняемых файлов. |
%PATHEXT% | Системная | Возвращает список расширений файлов, которые рассматриваются операционной системой как исполняемые. |
%PROCESSOR_ARCHITECTURE% | Системная | Возвращает архитектуру процессора. Значения: x86, IA64. |
%PROCESSOR_IDENTFIER% | Системная | Возвращает описание процессора. |
%PROCESSOR_LEVEL% | Системная | Возвращает номер модели процессора, установленного на компьютере. |
%PROCESSOR_REVISION% | Системная | Возвращает номер модификации процессора. |
%ProgramFiles% | Системная | Открывается нативная папка Program Files |
%ProgramFiles(x86)% | Системная | «C:\Program Files (x86)\» для 64-битной системы |
%PROMPT% | Локальная | Возвращает параметры командной строки для текущего интерпретатора. Создается командой Cmd.exe. |
%RANDOM% | Системная | Возвращает произвольное десятичное число от 0 до 32767. Создается командой Cmd.exe. |
%SYSTEMDRIVE% | Системная | Возвращает имя диска, содержащего корневой каталог Windows XP (т. е. системный каталог). |
%SYSTEMROOT% | Системная | Возвращает размещение системного каталога Windows XP. |
%TEMP% и %TMP% | Системная и пользовательская | Возвращает временные папки, по умолчанию используемые приложениями, которые доступны пользователям, выполнившим вход в систему. Некоторые приложения требуют переменную TEMP, другие — переменную TMP. |
%TIME% | Системная | Возвращает текущее время. Использует тот же формат, что и команда time /t. Создается командой Cmd.exe. |
%USERDOMAIN% | Локальная | Возвращает имя домена, содержащего список учетных записей пользователей. |
%USERNAME% | Локальная | Возвращает имя пользователя, выполнившего вход в систему. |
%USERPROFILE% | Локальная | Возвращает размещение профиля для текущего пользователя. |
%WINDIR% | Системная | Возвращает размещение каталога операционной системы. |
Таблицу скопировал отсюда http://www.windowsfaq.ru/content/view/263/57/
Отблагдарить автора статьи также можно переводом, +100 вам в карму!
bat пользователь скрипт
В Windows 10 переменные среды — это предварительно определенные имена, представляющие путь к определенным местам в операционной системе, например к диску, конкретному файлу или папке.
Переменные среды могут быть полезны в ряде сценариев, они особенно полезны, если вы являетесь специалистом по ИТ или чините чужой компьютер, поскольку вы можете быстро перемещаться в определенные места, даже не зная имени пользователя или полного пути к системной папке.
Например, вместо перехода по следующему пути C:\Users\<UserName>\AppData\Roaming можно открыть команду «Выполнить» (клавиша Windows + R), ввести %APPDATA% и нажать клавишу Enter для доступа к тому же пути. Или вы можете использовать переменную %HOMEPATH% для доступа к местоположению папок по умолчанию для текущего пользователя — где операционная система хранит папки рабочего стола, документов, загрузок, OneDrive и т. Д.
Переменные среды по умолчанию в Windows 10
VARIABLE | WINDOWS 10 |
---|---|
%ALLUSERSPROFILE% | C:\ProgramData |
%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 |
%COMSPEC% | C:\Windows\System32\cmd.exe |
%HOMEDRIVE% | C:\ |
%HOMEPATH% | C:\Users\{имя пользователя} |
%LOCALAPPDATA% | C:\Users\{имя пользователя}\AppData\Local |
%LOGONSERVER% | \\{domain_logon_server} |
%PATH% | C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem |
%PathExt% | .com;.exe;.bat;.cmd;.vbs;.vbe;.js;.jse;.wsf;.wsh;.msc |
%PROGRAMDATA% | C:\ProgramData |
%PROGRAMFILES% | C:\Program Files |
%ProgramW6432% | C:\Program Files |
%PROGRAMFILES(X86)% | C:\Program Files (x86) |
%PROMPT% | $P$G |
%SystemDrive% | C: |
%SystemRoot% | C:\Windows |
%TEMP% | C:\Users\{имя пользователя}\AppData\Local\Temp |
%TMP% | C:\Users\{имя пользователя}\AppData\Local\Temp |
%USERDOMAIN% | Пользовательский домен, связанный с текущим пользователем. |
%USERDOMAIN_ROAMINGPROFILE% | Пользовательский домен, связанный с перемещаемым профилем. |
%USERNAME% | {имя пользователя} |
%USERPROFILE% | C:\Users\{имя пользователя} |
%WINDIR% | C:\Windows |
%PUBLIC% | C:\Users\Public |
%PSModulePath% | %SystemRoot%\system32\WindowsPowerShell\v1.0\Modules\ |
%OneDrive% | C:\Users\{имя пользователя}\OneDrive |
%DriverData% | C:\Windows\System32\Drivers\DriverData |
%CD% | Выводит текущий путь к каталогу. (Командная строка.) |
%CMDCMDLINE% | Выводит командную строку, используемую для запуска текущего сеанса командной строки. (Командная строка.) |
%CMDEXTVERSION% | Выводит количество текущих расширений командного процессора. (Командная строка. |
%COMPUTERNAME% | Выводит имя системы. |
%DATE% | Выводит текущую дату. (Командная строка.) |
%TIME% | Время выхода. (Командная строка.) |
%ERRORLEVEL% | Выводит число определяющих статус выхода предыдущей команды. (Командная строка.) |
%PROCESSOR_IDENTIFIER% | Идентификатор процессора |
%PROCESSOR_LEVEL% | Outputs processor level. |
%PROCESSOR_REVISION% | Вывод ревизии процессора. |
%NUMBER_OF_PROCESSORS% | Выводит количество физических и виртуальных ядер. |
%RANDOM% | Выводит случайное число от 0 до 32767. |
%OS% | Windows_NT |
Хотя вы можете использовать переменные среды для быстрого доступа к определенным местам в Windows 10, вы, как правило, будете использовать эти переменные при создании сценария или приложения.
Помните, что некоторые из упомянутых переменных не зависят от местоположения, в том числе % COMPUTERNAME%, %PATHEXT%, %PROMPT%, %USERDOMAIN%, %USERNAME%.
Хотя это руководство ориентировано на Windows 10, важно отметить, что эти переменные также будут работать в Windows 11, Windows 8.x, Windows 7 и Windows Vista.
Переменные окружения Windows
Добавил(а) microsin
Переменные окружения Windows дают программам информацию об операционной системе. Ниже в таблице приведен стандартный список переменных окружения, которые создает Windows. Различные программы также создают свои переменные окружения, которые используют в служебных целях для хранения какой-либо информации.
ALLUSERSPROFILE | В режиме работы под локальным пользователем система возвратит место размещения всех каталогов профилей пользователей (путь папки All Users, например C:\Documents and Settings\All Users). |
APPDATA | В режиме работы под локальным пользователем система возвратит место на диске, где приложения сохраняют свои данные по умолчанию (например C:\Documents and Settings\имяпользователя\Application Data). |
CD | В режиме работы под локальным пользователем система возвратит строку, где будет путь до текущей директории. |
CMDCMDLINE | В режиме работы под локальным пользователем система возвратит полную командную строку, которая используется для запуска текущего интерпретатора команд cmd.exe. |
CMDEXTVERSION | Система вернет номер версии текущих расширений интерпретатора команд (Command Processor Extensions). |
COMPUTERNAME | Система возвратит имя компьютера (оно используется для идентификации компьютера в локальной сети), например WORKSTATION. |
ComSpec | Система вернет полный путь до исполняемого файла интерпретатора команд (например C:\WINDOWS\system32\cmd.exe). |
DATE | Система вернет текущую дату. Эта переменная окружения использует тот же самый формат, который использует команда date /t. Cmd.exe генерирует значение этой переменной. |
ERRORLEVEL | Система вернет код ошибки последней используемой команды. Значение кода, не равное 0 обычно показывает какую-то ошибку. |
HOMEDRIVE | Система покажет букву диска, который связан с домашней директорией пользователей. Эта переменная устанавливается на базе значения домашней директории, где находятся профили пользователей (пользователи и группы управляются оснасткой Local Users and Groups, Локальные пользователи и группы). |
HOMEPATH | Система вернет полный путь до домашнего каталога текущего пользователя (user’s home directory). Эта переменная устанавливается на базе значения домашней директории. |
HOMESHARE | Система вернет сетевой путь до совместно используемой домашней директории пользователя (user’s shared home directory). Эта переменная устанавливается на базе значения домашней директории. |
LOGONSEVER | В режиме работы под локальным пользователем система возвратит имя контроллера домена, который проверил текущее вхождение в систему пользователя. Если компьютер не находится в домене (принадлежит сети с рабочей группой), то эта переменная окружения вернет сетевое имя компьютера (например \\WORKSTATION). |
NUMBER_OF_PROCESSORS | Система возвратит количество процессоров, установленных в компьютере. |
OS | Система возвратит общее имя текущей операционной системы. Windows XP и Windows 2000 показывают значение переменной окружения OS как Windows_NT. |
PATH | Система возвратит пути, где осуществляется поиск исполняемых файлов. Возможно, что это самая важная из всех переменных окружения. В переменной PATH чаще всего находится несколько записей путей. Записи отделяются друг от друга точкой с запятой. |
PATHEXT | Система возвратит список расширений файлов, которые считаются исполняемыми. |
PROCESSOR_ARCHITECTURE | Система возвратит архитектуру используемого системой процессора. Значения: x86, IA64. |
PROCESSOR_IDENTIFIER | Система вернет описание процессора. Например: x86 Family 6 Model 42 Stepping 7, GenuineIntel. |
PROCESSOR_LEVEL | Система вернет номер модели процессора компьютера. |
PROCESSOR_REVISION | Система вернет номер ревизии процессора. |
PROMPT | Система вернет строку приглашения (command-prompt) для текущего интерпретатора команд. Эту переменную генерирует интерпретатор команд cmd.exe. |
RANDOM | Система вернет случайное десятичное число в диапазоне 0 .. 32767. Эту переменную генерирует интерпретатор команд cmd.exe. |
SystemDrive | Система вернет букву диска, на котором находится корневая директория Windows. |
SystemRoot | Система вернет путь до размещения корневого каталога (директории) Windows (Windows root directory). |
TEMP или TMP | Система сама и в режиме работы под локальным пользователем вернет директорию по умолчанию, где приложения и пользователи могут сохранять временные файлы (например C:\DOCUME~1\имяпользователя\LOCALS~1\Temp). Некоторые приложения требуют наличия переменной окружения TEMP, другие наличия переменной окружения TMP. |
TIME | Система возвратит текущее время. Эта переменная использует тот же формат, который использует команда time /t. Эту переменную генерирует интерпретатор команд cmd.exe. |
USERDOMAIN | В режиме работы под локальным пользователем система возвратит домена, который хранит учетную запись пользователя (user’s account). |
USERNAME | В режиме работы под локальным пользователем система возвратит имя пользователя (логин), который в настоящее время вошел в систему. |
USERPROFILE | В режиме работы под локальным пользователем система возвратит место расположения каталога профиля текущего пользователя. |
WINDIR | Система вернет место расположения на диске директории операционной системы. Значение этой переменной окружения совпадает со значением переменной окружения SystemRoot. |
[Как просматривать и редактировать переменные окружения]
Просматривать переменные окружения удобнее всего с помощью команды set. Ниже на примере настройки переменной окружения PATH будет показано редактирование переменной окружения.
В переменной окружения PATH (в командных файлах и в строке интерпретатора cmd для составления путей на неё ссылаются как на %Path%) хранятся пути поиска исполняемых файлов. Это нужно для того, чтобы не надо было вводить длинную строку пути до исполняемого файла. Например, это требуется для интерпретатора java.exe и других утилит JDK. Т. е. если в переменной Path прописан путь до java.exe, то можно не утруждать себя вводом полного пути до java.exe, операционная система Windows будет знать, где искать исполняемый файл.
Все переменные окружения, в том числе и Path, могут быть просмотрены, изменены, удалены и добавлены командой SET. В переменной Path может быть прописано множество путей. Каждая запись пути отделяется от другой точкой с запятой. Вот например, как можно просмотреть содержимое переменной окружения Path:
c:\>SET PATH Path=C:\Program Files\PC Connectivity Solution\;c:\Program Files\Atmel\AVR Tools \AVR Toolchain\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\WBEM;C:\Xi linx\11.1\ChipScope\bin\nt;C:\Xilinx\11.1\common\bin\nt;C:\Xilinx\11.1\common\li b\nt;C:\Xilinx\11.1\EDK\bin\nt;C:\Xilinx\11.1\EDK\lib\nt;C:\Xilinx\11.1\PlanAhea d\bin;C:\Xilinx\11.1\ISE\bin\nt;C:\Xilinx\11.1\ISE\lib\nt;c:\WinAVR-20100110\bin ;c:\WinAVR-20100110\utils\bin;c:\devkitPro\msys\bin;C:\Program Files\ATI Technol ogies\ATI.ACE\Core-Static;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\Program Files\TortoiseHg\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\IVI Foundati on\IVI\bin;C:\Program Files\IVI Foundation\VISA\WinNT\Bin\;C:\PROGRA~1\IVIFOU~1\ VISA\WinNT\Bin;C:\Program Files\Common Files\Adobe\AGL;C:\Program Files\Microsof t SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\ ;C:\Program Files\OpenVPN\bin;c:\Program Files\Android\apache-ant-1.9.3\bin;c:\P rogram Files\Android\android-studio\sdk\tools;c:\Program Files\Android\android-s tudio\sdk\platform-tools;c:\android-ndk-r9c;c:\Program Files\Java\jdk8u5\bin;C:\ Program Files\TortoiseGit\bin;C:\Program Files\IVI Foundation\VISA\WinNT\Bin;C:\ Program Files\ATMEL Corporation\sam-ba_2.11\drv\;C:\Program Files\ATMEL Corporat ion\sam-ba_2.11;C:\Program Files\ATMEL\FLIP 2.4.6\bin;C:\Program Files\Nmap;c:\M inGW\bin;C:\Program Files\Atmel\Flip 3.4.7\bin;c:\Program Files\GPAC;C:\Program Files\Common Files\Ahead\Lib\;C:\Program Files\Common Files\Ahead\Lib\ PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.PSC1
Однако новичкам намного проще использовать для редактирования переменной окружения Path инструмент Пуск -> Панель управления -> Система -> закладка Дополнительно -> кнопка внизу Переменные среды.
Откроется окно, в котором можно просмотреть (и отредактировать) как настройку Path для текущего пользователя (в верхней части окна «Переменные среды пользователя»), так и настройку Path для всей системы (в нижней части окна «Системные переменные»).
Для переменной окружения Path рекомендую вносить изменения в «Системные переменные», это повлияет на рабочее окружение всех пользователей, которые могут работать на этом компьютере.
[Ссылки]
1. Как задать или настроить системную переменную PATH? site:java.com.
System and User Environment Variables have always been a complex topic of discussion for day-to-day Windows OS users. What do they do? A tutorial on the internet said to add a PATH variable, but what is it? Where do I find these variables? All of these questions will be answered shortly in this post. We’ve tried to give you a high-level overview of what System and User Environment Variables are and how you can utilize them.
In this post, we will discuss Environment Variables, System and User Environment Variables and how to add and modify them. Then, we will move on to Dynamic System Variables and see how to use them in the command prompt.
What is an Environment Variable In Windows OS
Environment Variable is formed up of two separate words, ‘Environment’ and ‘Variable’. Let’s discuss ‘variable’ first. It means that the entity can store a value and vary from computer to computer. Windows provides an ‘Environment’ for applications to execute and perform operations, and that is what makes the first word. Combining both, Environment Variables are those dynamic objects that store the values provided by the environment. Now, the environment provides values that help other programs in obtaining some crucial information about the system. There is an environment variable called ‘windir’ that corresponds to the directory where Windows is installed. To see this in action, open up an explorer window and type in ‘%windir%’ in the address bar. The Windows installation folder will open up.
Very similarly, you can make reference to the Windows directory using ‘windir’ variable in other programs and scripts. There are numerous other variables that can be accessed, ‘TEMP’ or ‘TMP’ is the variable that points to the directory where all temporary files are stored. The most popular ‘Path’ variable is the one that points to the directories containing executable files. So that you can run a program from the Command Prompt in any other directory. We’ve explained Path later on in this post. All these variables come in handy when you are developing something or using the shell a lot.
Very similar to how the Registry works on Windows, we have System and User Environment Variables. The system variables are system-wide accepted and do not vary from user to user. Whereas User Environments are configured differently from user to user. You can add your variables under the user so that other users are not affected by them.
Just for your information, since we are discussing the topic in depth. System Variables are evaluated before User Variables. So if there are some user variables with the same name as system variables, then user variables will be considered. The Path variable is generated in a different way. The effective Path will be the User Path variable appended to the System Path variable. So, the order of entries will be system entries followed by user entries.
Read: How to use Environment Variable Editor in PowerToys?
How to add & modify Environment Variables
A small warning before we go deeper. Create a system restore point, and try not to tamper with the existing settings configured for your system. Until you are very sure about your actions. To open the ‘Environment Variables’ Window, follow these steps:
- Right-click ‘This PC’ icon and select ‘Properties’.
- Now in this window, select ‘Advanced System Settings’ from the left part.
- Hit the last button saying ‘Environment Variables’ to open our destined window.
Once you’ve opened this up, you will be able to view User and System variables separately. The variable name is in the first column and its value in the second. The corresponding buttons below the table let you ‘Add’, ‘Edit’ and ‘Delete’ these variables.
Read: Environment Variables not working in Windows 11
Using the Path variable
Path is the most used environment variable. As I mentioned, it points to directories that contain executable files. Once you’ve correctly set up your Path variable, you can use these executables from anywhere in the system. Let’s try to understand this with an example. Open up the environment variables window and look for ‘Path’ in system variables.
Click on ‘Edit’ and then click on ‘New’ without playing around with other controls right now. Now click browse and select a folder that has your desired executable file. Click ‘Ok’ and save everything. I added ‘Visual Studio Code’ executable to the path.
Now to run your application, open up Command Prompt and type in the name of the executable file that was in the folder. You can provide additional arguments if the program supports it. The program will run from the command prompt without actually being in the directory from where you executed the command. That is the beauty of the Path variable.
Read: How to add or edit a PATH Environment Variable in Windows.
List of all Environment Variables
Open the command prompt and type ‘SET’ and hit Enter. The entire list of variables with their current values will be displayed, and you can refer to it to make changes to your computer.
Read: How to see Names and Values of Environment Variables in Windows
Dynamic Environment Variables
Unlike conventional variables, dynamic environment variables are provided by the CMD and not by the system. You cannot change the values of these variables and they expand to various discrete values whenever queried. We usually use these variables for batch processing and these are not stored in the environment. Even the ‘SET’ command will not reveal these variables. Some of the dynamic environment variables are listed below.
Read: How to add Environment Variables to Context Menu.
List of environment variables in Windows 11/10
%APPDATA% – C:\Users\<username>\AppData\Roaming
%ALLUSERSPROFILE% – C:\ProgramData
%CD% – Typing in this command will give you the current directory you are working in.
%COMMONPROGRAMFILES% – C:\Program Files\Common Files
%COMMONPROGRAMFILES(x86)% – C:\Program Files (x86)\Common Files
%COMMONPRGRAMW6432% – C:\Program Files\Common Files
%CMDEXTVERSION% – This variable expands to the version of the command-line extensions.
%COMSPEC% – C:\Windows\System32\cmd.exe
%DATE%: – This variable will give you the current date according to date format preferences.
%ERRORLEVEL% – Determines the error level set by last executing command.
%HOMEDRIVE% – C:\
%HOMEPATH% -C:\Users\<username>
%LOCALAPPDATA% – C:\Users\<username>\AppData\Local
%LOGONSERVER% – \\<domain_logon_server>
%PATH% – C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
%PATHEXT% – .com;.exe;.bat;.cmd;.vbs;.vbe;.js;.jse;.wsf;.wsh;.msc
%PROGRAMDATA% – C:\ProgramData
%PROGRAMFILES% – C:\Program Files
%PROGRAMW6432% – C:\Program Files
%PROGRAMFILES(X86)% – C:\Program Files (x86)
%PROMPT% – $P$G
%SYSTEMDRIVE% – C:
%SYSTEMROOT% – C:\Windows
%TIME% – Similarly, it gives you current time according to the time format preferences.
%TMP% – C:\Users\<username>\AppData\Local\Temp
%TEMP% – C:\Users\<username>\AppData\Local\Temp
%USERNAME% – <username>
%USERPROFILE% – C:\Users\<username>
%USERDOMAIN% – Userdomain associated with current user.
%USERDOMAIN_ROAMINGPROFILE% – Userdomain associated with roaming profile.
%WINDIR% – C:\Windows
%PUBLIC% – C:\Users\Public
%PSMODULEPATH% – %SystemRoot%\system32\WindowsPowerShell\v1.0\Modules\
%ONEDRIVE% – C:\Users\<username>\OneDrive
%DRVERDATA% – C:\Windows\System32\Drivers\DriverData
%CMDCMDLINE% – Outputs command line used to launch the current Command Prompt session. (Command Prompt.)
%COMPUTERNAME% -Outputs the system name.
%PROCESSOR_REVISION% – Outputs processor revision.
%PROCESSOR_IDENTIFIER% – Outputs processor identifier.
%PROCESSOR_LEVEL% – Outputs processor level.
%RANDOM% – This variable prints a random number from 0 through 32767
%NUMBER_OF_PROCESSORS% – Outputs the number of physical and virtual cores.
%OS% – Windows_NT
This was pretty much about System and User Environment Variables on Windows. Windows does come with a lot more variables – don’t forget to check them using the ‘SET’ command.
TIP: Rapid Environment Editor is a powerful Environment Variables Editor for Windows.