I’m writing a Windows batch file and want to copy something to the desktop. I think I can use this:
%UserProfile%\Desktop\
However, I’m thinking, that’s probably only going to work on an English OS. Is there a way I can do this in a batch file that will work on any internationalized version?
UPDATE
I tried the following batch file:
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop
FOR /F "usebackq tokens=3 skip=4" %%i in (`REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop`) DO SET DESKTOPDIR=%%i
FOR /F "usebackq delims=" %%i in (`ECHO %DESKTOPDIR%`) DO SET DESKTOPDIR=%%i
ECHO %DESKTOPDIR%
And got this output:
S:\>REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders Desktop REG_EXPAND_SZ %USERPROFILE%\Desktop S:\>FOR /F "usebackq tokens=3 skip=4" %i in (`REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folder s" /v Desktop`) DO SET DESKTOPDIR=%i S:\>FOR /F "usebackq delims=" %i in (`ECHO ECHO is on.`) DO SET DESKTOPDIR=%i S:\>SET DESKTOPDIR=ECHO is on. S:\>ECHO ECHO is on. ECHO is on.
Kb.
7,25013 gold badges56 silver badges75 bronze badges
asked Jan 4, 2010 at 16:40
Scott LanghamScott Langham
58.8k40 gold badges132 silver badges204 bronze badges
3
To be safe, you should use the proper APIs in Powershell (or VBScript)
Using PowerShell:
[Environment]::GetFolderPath("Desktop")
Copy something using Powershell:
Copy-Item $home\*.txt ([Environment]::GetFolderPath("Desktop"))
Here is a VBScript-example to get the desktop path:
dim WSHShell, desktop, pathstring, objFSO
set objFSO=CreateObject("Scripting.FileSystemObject")
Set WSHshell = CreateObject("WScript.Shell")
desktop = WSHShell.SpecialFolders("Desktop")
pathstring = objFSO.GetAbsolutePathName(desktop)
WScript.Echo pathstring
answered Jan 4, 2010 at 17:08
2
I found that the best solution is to use a vbscript together with the batch file.
Here is the batch file:
@ECHO OFF
FOR /F "usebackq delims=" %%i in (`cscript findDesktop.vbs`) DO SET DESKTOPDIR=%%i
ECHO %DESKTOPDIR%
Here is findDesktop.vbs file:
set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")
wscript.echo(strDesktop)
There may be other solutions but I personally find this one less hackish.
I tested this on an English PC and also a French PC — it seems to work (Windows XP).
EDIT: Use the accepted answer, this will not work if the default location isn’t being used, for example: The user moved the desktop to another drive like D:\Desktop
At least on Windows XP, Vista and 7 you can use the "%UserProfile%\Desktop"
safely.
Windows XP en-US it will expand to "C:\Documents and Settings\YourName\Desktop"
Windows XP pt-BR it will expand to "C:\Documents and Settings\YourName\Desktop"
Windows 7 en-US it will expand to "C:\Users\YourName\Desktop"
Windows 7 pt-BR it will expand to "C:\Usuarios\YourName\Desktop"
On XP you can’t use this to others folders exept for Desktop
My documents
turning to Meus Documentos
and Local Settings
to Configuracoes locais
Personaly I thinks this is a bad thing when projecting a OS.
answered Oct 29, 2012 at 17:40
Vitim.usVitim.us
20.9k15 gold badges94 silver badges110 bronze badges
7
KB’s answer to use [Environment]::GetFolderPath("Desktop")
is obviously the official Windows API for doing this.
However, if you’re working interactively at the prompt, or just want something that works on your machine, the tilda (~) character refers to the current user’s home folder. So ~/desktop
is the user’s desktop folder.
answered Apr 18, 2010 at 20:04
SaqibSaqib
7,2827 gold badges42 silver badges55 bronze badges
3
Not only would that not work for an International version of Windows, it would fail if the user had edited the Registry to make their Desktop folder reside somewhere else. You can query the Registry for the file location using the REG
command:
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop
To get this into a variable use something like this:
FOR /F "usebackq tokens=3 skip=4" %%i in (`REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop`) DO SET DESKTOPDIR=%%i
FOR /F "usebackq delims=" %%i in (`ECHO %DESKTOPDIR%`) DO SET DESKTOPDIR=%%i
ECHO %DESKTOPDIR%
answered Jan 4, 2010 at 16:45
David WebbDavid Webb
191k57 gold badges313 silver badges299 bronze badges
4
you could also open a DOS command prompt and execute the set command.
This will give you an idea what environment variables are available on your system.
E.g. — since you where specifically asking for a non-english Windows — heres is an example of my own German Edition (Window7-64bit) :
set > env.txt type env.txt ALLUSERSPROFILE=C:\ProgramData APPDATA=C:\Users\SOF\AppData\Roaming CommonProgramFiles=C:\Program Files\Common Files CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files CommonProgramW6432=C:\Program Files\Common Files COMPUTERNAME=VMSOF ComSpec=C:\Windows\system32\cmd.exe FP_NO_HOST_CHECK=NO HOMEDRIVE=C: HOMEPATH=\Users\SOF LOCALAPPDATA=C:\Users\SOF\AppData\Local LOGONSERVER=\\VMSOF NUMBER_OF_PROCESSORS=2 OS=Windows_NT Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\CMake 2.8\bin;C:\Program Files (x86)\emacs-22.3\bin;C:\Program Files (x86)\GnuWin32\bin; PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC PROCESSOR_ARCHITECTURE=AMD64 PROCESSOR_IDENTIFIER=AMD64 Family 15 Model 67 Stepping 3, AuthenticAMD PROCESSOR_LEVEL=15 PROCESSOR_REVISION=4303 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 SESSIONNAME=Console SystemDrive=C: SystemRoot=C:\Windows TEMP=C:\Users\SOF\AppData\Local\Temp TMP=C:\Users\SOF\AppData\Local\Temp USERDOMAIN=VMSOF USERNAME=SOF USERPROFILE=C:\Users\SOF VBOX_INSTALL_PATH=C:\Program Files\Sun\VirtualBox\ VS90COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\ windir=C:\Windows
answered Jan 4, 2010 at 17:43
4
in windows 7 this returns the desktop path:
FOR /F "usebackq tokens=3 " %%i in (`REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop`) DO SET DESKTOPDIR=%%i FOR /F "usebackq delims=" %%i in (`ECHO %DESKTOPDIR%`) DO SET DESKTOPDIR=%%i ECHO %DESKTOPDIR%
answered Sep 21, 2011 at 19:47
1
If you wish to use the
[Environment]::GetFolderPath("Desktop")
from within a cmd.exe
, you may do so (thanks to MS User Marian Pascalau on this thread)
set dkey=Desktop
set dump=powershell.exe -NoLogo -NonInteractive "Write-Host $([System.Environment]::GetFolderPath([System.Environment+SpecialFolder]::%dkey%))"
for /F %%i in ('%dump%') do set dir=%%i
echo Desktop directory is %dir%
answered Mar 17, 2020 at 18:22
Niko FohrNiko Fohr
28.7k10 gold badges95 silver badges98 bronze badges
This is not a solution but I hope it helps: This comes close except that when the KEY = %userprofile%\desktop the copy fails even though zdesktop=%userprofile%\desktop. I think because the embedded %userprofile% is not getting translated.
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop>z.out
for /f "tokens=3 skip=4" %%t in (z.out) do set zdesktop=%%t
copy myicon %zdesktop%
set zdesktop=
del z.out
So it sucessfully parses out the REG key but if the key contains an embedded %var% it doesn’t get translated during the copy command.
answered Jan 4, 2010 at 17:41
fupsduckfupsduck
3,1391 gold badge19 silver badges18 bronze badges
I had a similar problem (and VBScript or PowerShell was not an option) and the code I found in this article did not work for me. I had problems with OS versions and language versions. After some experiments I’ve come to this solution:
for /f "usebackq tokens=2,3*" %%A in (`REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Desktop"`) do if %%A==REG_EXPAND_SZ call :reparse set desktopdir=%%B
echo %desktopdir%
goto :EOF
:reparse
%*
goto :EOF
This code works for me in English and Polish versions of Windows 7 and Windows XP.
The :reparse subroutine allows for delayed expansion of environment variables.
answered Jan 9, 2012 at 15:57
MBuMBu
2,9002 gold badges19 silver badges25 bronze badges
While I realize this is a bit of an older post, I thought this might help people in a similar situation. I made a quick one line VBScript to pull info for whatever special folder you would like (no error checking though) and it works like this:
Create a file «GetShellFolder.vbs» with the following line:
WScript.Echo WScript.CreateObject("WScript.Shell").SpecialFolders(WScript.Arguments(0))
I always make sure to copy cscript.exe (32-bit version) to the same folder as the batch file I am running this from, I will assume you are doing the same (I have had situations where users have somehow removed C:\Windows\system32 from their path, or managed to get rid of cscript.exe, or it’s infected or otherwise doesn’t work).
Now copy the file to be copied to the same folder and create a batch file in there with the following lines:
for /f "delims=" %%i in ('^""%~dp0cscript.exe" "%~dp0GetShellFolder.vbs" "Desktop" //nologo^"') DO SET SHELLDIR=%%i
copy /y "%~dp0<file_to_copy>" "%SHELLDIR%\<file_to_copy>"
In the above code you can replace «Desktop» with any valid special folder (Favorites, StartMenu, etc. — the full official list is at https://msdn.microsoft.com/en-us/library/0ea7b5xe%28v=vs.84%29.aspx) and of course <file_to_copy>
with the actual file you want placed there. This saves you from trying to access the registry (which you can’t do as a limited user anyway) and should be simple enough to adapt to multiple applications.
Oh and for those that don’t know the "%~dp0"
is just the directory from which the script is being called. It works for UNC paths as well which makes the batch file using it extremely portable. That specifically ends in a trailing «\» though so it can look a little odd at first glance.
answered Mar 23, 2016 at 17:00
@Dave Webb’s answer is probably the way to go. The only other thing I can think of are the CSIDLs:
CSIDL_DESKTOPDIRECTORY
The file system directory used to
physically store file objects on the
desktop (which should not be confused
with the desktop folder itself). A
typical path is C:\Documents and
Settings\username\Desktop.
I have no idea how to get hold of those from the command line, though.
answered Jan 4, 2010 at 16:50
PekkaPekka
443k143 gold badges972 silver badges1089 bronze badges
Multilingual Version, tested on Japanese OS
Batch File
set getdesk=REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop
FOR /f "delims=(=" %%G IN ('%getdesk% ^|find "_SZ"') DO set desktop=%%G
set desktop1=%desktop:*USERPROFILE%\=%
cd "%userprofile%\%desktop1%"
set getdesk=
set desktop1=
set desktop=
answered Mar 27, 2013 at 3:05
JoshJosh
112 bronze badges
This should work no matter what language version of Windows it is and no matter where the folder is located. It also doesn’t matter whether there are any spaces in the folder path.
FOR /F "tokens=2*" %%A IN ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop^|FIND/I "desktop"') DO SET Desktop=%%B
ECHO %Desktop%
In case of Windows 2000 (and probably NT 4.0) you need to copy reg.exe to the %windir% folder manually since it is not available there by default.
answered Jun 27, 2013 at 6:27
tomasz86tomasz86
89910 silver badges9 bronze badges
I use this code to get the User desktop and Public desktop paths from the registry, tested on Windows XP SP2 pt-PT and Windows 10 b14393 en-US, so it probably works in Vista/7/8 and other languages.
:: get user desktop and public desktop paths
for /f "tokens=* delims= " %%a in ('reg query "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop ^|find /i "REG_"') do set "batch_userdesktop=%%a"
for /f "tokens=* delims= " %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Common Desktop" ^|find /i "REG_"') do set "batch_publicdesktop=%%a"
:: remove everything up to and including "_SZ"
set "batch_userdesktop=%batch_userdesktop:*_sz=%"
set "batch_publicdesktop=%batch_publicdesktop:*_sz=%%
:: remove leading spaces and TABs
:loop
if "%batch_userdesktop:~0,1%"==" " set "batch_userdesktop=%batch_userdesktop:~1%" & goto loop
if "%batch_publicdesktop:~0,1%"==" " set "batch_publicdesktop=%batch_publicdesktop:~1%" & goto loop
if "%batch_userdesktop:~0,1%"==" " set "batch_userdesktop=%batch_userdesktop:~1%" & goto loop
if "%batch_publicdesktop:~0,1%"==" " set "batch_publicdesktop=%batch_publicdesktop:~1%" & goto loop
The last two lines include a TAB inside the » «, some text editors add spaces when you press TAB, so make sure you have an actual TAB instead of spaces.
I’m not sure the code requires setlocal enabledelayedexpansion, it’s part of my SETVARS.CMD which I call from other batches to set common variables like cpu architecture, account language, windows version and service pack, path to user/public desktop, etc.
answered Nov 11, 2016 at 14:04
I know this is kind of an old topic, but I would use the Powershell variable
$env:UserProfile
To use it to get to the desktop, it would be:
cd $env:UserProfile\desktop
This works both locally and remotely on windows 7. Hope this is useful as I ran across a situation where a client machine didn’t have a value in $home.
answered Nov 9, 2014 at 18:54
2
Quite old topic. But I want to give my 2 cents…
I’ve slightly modified tomasz86 solution, to look in the old style «Shell Folders» instead of «User Shell Folders», so i don’t need to expand the envvar %userprofile%
Also there is no dependency from powershell/vbscript/etc….
for /f "usebackq tokens=2,3*" %%A in (`REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Desktop"`) do if %%A==REG_SZ set desktopdir=%%B
echo %desktopdir%
Hope it helps.
answered Nov 17, 2019 at 9:21
TL;DR
%HOMEDRIVE%%HOMEPATH%\Desktop
seems to be the safest way.
Discussion
Assumptions about which drive a thing is on are quite fragile in Windows as it lacks a unified directory tree where mounts would map to directories internally. Therefore the %HOMEDRIVE%
variable is important to reference to make sure you’re on the right one (it isn’t always C:\
!).
Non-English locales will usually have localized names for things like «Desktop» and «Pictures» and whatnot, but fortunately they are all aliases that point to Desktop
, which seems to be the underlying canonical directory name regardless of locale (we use this safely here in Japan, Thailand, Israel and the US).
The big quirk comes with determining whether %UserProfile%
points to the user’s actual profile base dir, or their Desktop or somewhere completely different. I’m not really a Windows dev, but what I’ve found is the profile dir is for settings, but the %HOMEPATH%
is for the user’s own files, so this points to the directory root that leads to Desktop/Downloads/Pictures/etc. This tends to make %HOMEDRIVE%%HOMEPATH%\Desktop
the safest way.
answered Dec 21, 2020 at 12:58
zxq9zxq9
13.1k1 gold badge43 silver badges60 bronze badges
These commands will print the Desktop path on cmd.exe
:
powershell "[System.Environment]::GetFolderPath([System.Environment+SpecialFolder]::Desktop)"
FOR /F "tokens=2*" %i IN ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop ^| findstr "desktop"') DO echo %j
answered Mar 24 at 16:18
Amit NaiduAmit Naidu
2,5042 gold badges24 silver badges33 bronze badges
Обновлено 28.06.2022
Добрый день уважаемые читатели и гости блога, сегодня я с вами хочу обсудить вот такую тему, что такое переменные среды Windows, где их можно использовать, как в обычной практике пользователя, так и в практике системного администратора, я вам приведу несколько примеров. Как все это дело настраивается и изменяется под ваши нужны, на мой взгляд это фундаментальные знания, понимание которых вам лучше покажет принцип работы операционных систем семейства Windows.
Что такое переменные среды windows
Давайте разберемся в понятии, и так переменная окружения (environment variable) это специального рода ссылки уменьшенного размера, на определенные объекты операционной системы Windows, используемые разными программами для хранения информации и взаимодействия с ней. Можно провести аналогию с относительными ссылками на сайтах, где нет явного указания на протокол. Чаще всего это пути до конкретных директорий в ОС.
ИЛИ
Переменная среды — это динамический «объект» на компьютере, содержащий редактируемое значение, которое может использоваться одной или несколькими программами в Windows. Переменные среды помогают программам узнать, в какой каталог устанавливать файлы, где хранить временные файлы и где найти настройки профиля пользователя. Они помогают формировать среду, которую программы на вашем компьютере используют для запуска.
Где используют переменные среды Windows
Приведу несколько примеров:
- В скриптах > когда нужно например каждому пользователю сделать какую-то настройку, для примера положить на рабочий стол новую папку с документами. Так как для каждого пользователя путь до рабочего стола свой, вида C:\Users\lacky\Desktop, а можно обратиться и по относительному пути за счет переменной %HOMEPATH%, если вы в проводнике введете %HOMEPATH%\Desktop, то попадете на рабочий стол текущего пользователя.
- в групповой политике, для настройки пользовательских окружений, например перемещаемые профили.
- Оптимизация кода > если в коде очень часто используются одни и те же пути к файлам или папкам, а так же ключам реестра, вы можете легко назначить короткую переменную для дальнейшего использования. Ниже я вам приведу сводный список по переменным средам windows 10 и предыдущих версий, а так же покажу как их создавать и менять.
Все переменные среды Windows 10 и других версий в своем составе имеют специальный оператор %. Он необходим, чтобы операционная система могла обработать поисковый запрос. Простой пример вы ищите папку TEMP и не знаете, где она располагается, вводите %TEMP% и поиск будет на всех локальных дисках и разделах.
Переменные среды передают информацию о вашем сеансе входа в систему на ваш компьютер. Например, когда приложению необходимо определить, где по умолчанию сохранять файл данных, оно обычно вызывает переменную среды HOMEPATH. Вероятно, вы никогда не устанавливали переменную HOMEPATH самостоятельно, и тем не менее она существует, потому что большинство переменных сред управляются вашей операционной системой. Мастер установки, такой как платформа Nullsoft Scriptable Install System (NSIS) с открытым исходным кодом, обновляет переменные среды при установке нового приложения. Иногда, когда вы устанавливаете что-то за пределами предполагаемого набора инструментов вашей операционной системы, вам, возможно, придется самостоятельно управлять переменной среды. Или вы можете добавить переменную среды в соответствии со своими предпочтениями.
Список переменных сред 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% > C:\Users\Имя_пользователя\AppData\Local\Temp (по умолчанию)
- %TMP% > C:\Users\Имя_пользователя\AppData\Local\Temp (по умолчанию)
- %USERDOMAIN% > Имя_компьютера
- %USERDOMAIN_ROAMINGPROFILE% > Имя_компьютера
- %USERNAME% > Имя_пользователя
- %USERPROFILE% > C:\Users\Имя_пользователя
Как вывести список всех переменных Windows
В Windows 10 и других версиях, можно вывести список всех переменных сред Windows, для этого откройте командную строку от имени администратора и введите команду SET. В результате вы получите все переменные среды windows 10 по умолчанию для конкретной операционной системы.
Для удобства вы можете экспортировать весь этот список в текстовый файл, для этого введите:
Вот содержимое данного документы.
То же самое можно посмотреть и с помощью оболочки PowerShell, в которой нужно ввести:
Name Value
—- ——
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
COMPUTERNAME DC01
ComSpec C:\Windows\system32\cmd.exe
FP_NO_HOST_CHECK NO
HOMEDRIVE C:
HOMEPATH \Users\Администратор
LOCALAPPDATA C:\Users\Администратор\AppData\Local
LOGONSERVER \\DC01
NUMBER_OF_PROCESSORS 4
OS Windows_NT
Path C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windo…
PATHEXT .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.CPL
PROCESSOR_ARCHITECTURE AMD64
PROCESSOR_IDENTIFIER Intel64 Family 6 Model 44 Stepping 2, GenuineIntel
PROCESSOR_LEVEL 6
PROCESSOR_REVISION 2c02
ProgramData C:\ProgramData
ProgramFiles C:\Program Files
ProgramFiles(x86) C:\Program Files (x86)
ProgramW6432 C:\Program Files
PSModulePath C:\Users\Администратор\Documents\WindowsPowerShell\ Modules;C:\Program Files\WindowsPo…
PUBLIC C:\Users\Public
SESSIONNAME Console
SystemDrive C:
SystemRoot C:\Windows
TEMP C:\Users\836D~1\AppData\Local\Temp\1
TMP C:\Users\836D~1\AppData\Local\Temp\1
USERDNSDOMAIN ROOT.PYATILISTNIK.ORG
USERDOMAIN ROOT
USERDOMAIN_ROAMINGPROFILE ROOT
USERNAME Администратор
USERPROFILE C:\Users\Администратор
windir C:\Windows
Еще одним методом посмотреть переменные операционной системы, выступает реестр 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
Проверяю, что все добавилось. И теперь вбив переменную %SYSPREP% у меня откроется C:\Windows\System32\Sysprep.
Как видите тут ничего сложного нет, благодаря вот таким вещам вы можете сильно упростить себе жизнь и экономить много времени.
Управление переменными средами Windows через PowerShell
Переменные среды в PowerShell — это особые типы переменных, которые предоставляют системе информацию о среде операционной системы. С помощью переменных среды вы можете просматривать и изменять переменные в реестре Windows, а также переменные, установленные для конкретного сеанса.
PowerShell есть функция, называемая провайдерами, которая создает один или несколько дисков, представляющих собой иерархические структуры, подобные файловой системе, которые позволяют пользователю управлять различными областями в Windows. Один из этих провайдеров предназначен для переменных среды под названием Environment.
В PowerShell переменные среды хранятся на Env:, доступном через поставщика среды PowerShell. Это не физический диск, а виртуальная файловая система.
Как вы можете видеть выше, у поставщика среды есть диск с именем Env. Этот диск предоставляет все переменные среды в системе Windows. Например, командлет Get-ChildItem можно использовать для перечисления всех переменных пользовательской среды в вашей системе.
Get-ChildItem -Path Env:\ или вот так Get-ChildItem Env: | out-host -paging
Как установить локальную переменную среды Windows
Когда вы создаете обычную переменную, она считается локальной, то есть она не определена вне оболочки, которая ее создала, как только вы закроете текущее окно PowerShell, ваша переменная исчезнет — это есть локальная переменная. Давайте создадим ее.
$env:SiteName = ‘pyatilistnik.org’
Чтобы изменить значение нужной переменной, просто повторите команду с нужным значением.
Чтобы добавить к текущему значению, еще одно, то используйте оператор += и разделите значение точкой с запятой (;)
$env:SiteName += ‘;pyatilistnik.info’
Но не забываем, что это временная переменная для текущего сеанса.
Как сделать постоянные переменные среды Windows для пользователя
Чтобы установить переменную среды Windows, которая будет доступна для всех процессов, запускаемых вашей учетной записью, используйте следующее:
[System.Environment]::SetEnvironmentVariable(‘siteName’,’pyatilistnik .org’,[System.EnvironmentVariableTarget]::User)
Как сделать постоянные переменные среды Windows для компьютера
Чтобы создать переменную среды, видимую для каждого процесса, работающего на машине:
[System.Environment]::SetEnvironmentVariable(‘siteName’,’pyatilistnik .org’,[System.EnvironmentVariableTarget]::Machine)
Тут PowerShell использует класс [System.Environment] с методом SetEnvironmentVariable для переменной среды.
Или такой вариант:
[System.Environment]::SetEnvironmentVariable(‘siteName’,’pyatilistnik .info’)
Как удалить переменную среды Windows
Чтобы удалить нужную переменную используйте вот такую конструкцию, в моем примере я удалю переменную siteName.
[Environment]::SetEnvironmentVariable(«siteName», «», «Machine»)
Как выгрузить переменные среды Windows в файл через PowerShell
Если вы хотите сохранить список текущих переменных сред Windows в текстовом файле, то введите команду:
dir Env: | FL | FT -AutoSize >> c:\temp\1.txt
На этом у меня все, если у вас остались вопросы, то пишите постараемся вместе в них разобраться.
Создание и управление переменными средами Windows через командную строку
Не будим списывать со счетов старую, добрую командную строку, так как она умеет так же работать с переменными Windows. Запустите ее от имени администратора.
- Создадим новую пользовательскую переменную MY-EMAIL, для этого пишем:
setx MY-EMAIL «microsoftexam@yandex.ru»
Не забываем перезапустить командную строку, иначе новую переменную вы не увидите.
- Создадим новую системную переменную MY-EMAIL, для этого пишем:
setx /m MY-EMAIL «microsoftexam@yandex.ru»
- Переименовывание пользовательской и системной переменной среды
Просто повторите те же команды, что и выше, но с уже нужными, новыми значениями
- Добавляем еще одно значение в существующую пользовательскую переменную Windows, тут все добавляется через знак «;«.
setx MYWEBPC «microsoftexam@yandex.ru;microsoftexam2022@yandex.ru»
- Добавляем еще одно значение в существующую системную переменную Windows, тут все добавляется через знак «;«.
setx /m MY-EMAIL «microsoftexam@yandex.ru;microsoftexam2022@yandex.ru»
- Удаляем значение у пользовательской переменной MY-EMAIL
- Удаляем значение у системной переменной MY-EMAIL
- Удаляем переменную MY-EMAIL
REG delete «HKCU\Environment» /F /V «MY-EMAIL»
REG delete «HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment» /F /V «MY-EMAIL»
I’m trying to write a batch file that can copy a file from my computer to all computers in a list. It needs to be copied to the AllUsers Desktop (I’ll use a domain admin account to run the batch file).
On my Win7 system, the %ALLUSERSPROFILE%
returns C:\ProgramData. Is there a variable that returns the AllUsers Desktop path across every version of Windows? I have a mix of XP, Vista, and Win7.
- windows
- batch-file
- environment-variables
asked May 18, 2011 at 0:14
ChaddeusChaddeus
13.2k29 gold badges104 silver badges162 bronze badges
4 Answers
It is %public%
in Windows 7…
akjoshi
15.4k13 gold badges104 silver badges122 bronze badges
answered Jan 30, 2013 at 16:45
Kyle PKyle P
1511 silver badge3 bronze badges
1
-
Necro:
%public%\Desktop
, to be precise.Jun 23, 2017 at 22:26
%public% works for Windows 10 and Windows 2011 Server and up
%ALLUSERSPROFILE% is used in Windows XP
But, you can look to see what the available variables are by running «SET» from a command prompt
answered May 13, 2018 at 12:31
There’s no environment variable holding desktop path, but with this post you can see how to get it in batch (answers are for current user desktop, you’ll need to adapt them for all users desktop
answered May 18, 2011 at 0:32
CharlesBCharlesB
86.7k28 gold badges195 silver badges219 bronze badges
in vista, 7, 8
%userprofile%\..\Default\Desktop
answered Jul 29, 2014 at 13:51
В 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 может помочь сократить время, необходимое для набора команд в командной строке или, если вы часто пишете скрипты для собственных задач, сделать их более читаемыми. В большинстве случаев обычные пользователи добавляют записи в системную переменную среды PATH, хотя бывают и другие задачи.
В этой пошаговой инструкции базовая информация о том, как открыть переменные среды Windows 11 и Windows 10, создать или отредактировать их.
Что такое переменные среды
Переменные среды в Windows — записи о расположении системных папок, свойствах системы и другие, которые доступны для любой программы или скрипта.
Одна из наиболее часто используемых переменных среды — PATH, указывающая на папки, в которых выполняется поиск файлов, вызываемых в командной строке, терминале Windows, файле bat или из других источников. В качестве примера её назначения:
- Если вы откроете командную строку (или диалоговое окно «Выполнить»), введёте regedit и нажмете Enter — вы сможете запустить редактор реестра, не указывая полный путь к файлу regedit.exe, поскольку путь C:Windows добавлен в переменную среды Path.
- Если же тем же образом в командной строке написать имя программы, путь к которой не добавлен в Path (chrome.exe, adb.exe, pip и другие), вы получите сообщение «Не является внутренней или внешней командой, исполняемой программой или пакетным файлом».
Если предположить, что вы часто используете команды adb.exe (например, для установки приложений Android в Windows 11), pip install (для установки пакетов Python) или любые другие то для того, чтобы не писать каждый раз полный путь к этим файлам, имеет смысл добавить эти пути в переменные среды.
Также вы можете добавлять и иные переменные среды (не обязательно содержащие пути), а в дальнейшем получать и использовать их значения в сценариях BAT (командной строки) или PowerShell. Пример получения и отображения значения системной переменной PATH для обоих случаев:
Получить список всех переменных среды в командной строке и PowerShell соответственно можно следующими командами:
Редактирование переменных среды Windows 11/10
Прежде чем приступать, учтите: изменение системных переменных среды по умолчанию может привести к проблемам в работе системы, не удаляйте уже имеющиеся переменные среды. Возможно, имеет смысл создать точку восстановления системы, если вы не уверены в своих действиях.
- Чтобы открыть переменные среды Windows вы можете использовать поиск в панели задач (начните вводить «Переменных» и откройте пункт «Изменение системных переменных среды») или нажать клавиши Win+R на клавиатуре, ввести sysdm.cpl и нажать Enter.
- На вкладке «Дополнительно» нажмите кнопку «Переменные среды…»
- В разделе «Переменные среды пользователя» (если требуется изменение только для текущего пользователя) или «Системные переменные» выберите переменную, которую нужно изменить и нажмите «Изменить» (обычно требуется именно это), либо, если необходимо создать новую переменную — нажмите кнопку «Создать». В моем примере — добавляем свои пути в системную переменную Path (выбираем эту переменную и нажимаем «Изменить»).
- Для добавления нового значения (пути) в системную переменную в следующем окне можно нажать кнопку «Создать», либо просто дважды кликнуть по первой пустой строке, затем — ввести нужный путь к папке, содержащей нужные нам исполняемые файлы.
- Также вы можете использовать кнопку «Изменить текст», в этом случае окно изменения системной переменной откроется в ином виде: имя переменной, а ниже — её значение. В случае указания путей значение будет представлять собой все пути, хранящиеся в переменной, разделенные знаком «точка с запятой».
- При создании новой переменной среды окно будет тем же, что и в 5-м шаге: необходимо будет указать имя системной переменной в верхнем поле, а её значение — в нижнем.
После создания или изменения переменной среды и сохранения сделанных настроек, переменная или обновленные значения сразу становятся доступны для текущего пользователя или в системе в целом в зависимости от того, какие именно переменные редактировались или создавались.
Изучаем переменные среды в Windows 10
Получить информацию о существующих переменных можно в свойствах системы. Для этого кликаем по ярлыку Компьютера на рабочем столе правой кнопкой мыши и выбираем соответствующий пункт.
Переходим в «Дополнительные параметры».
В открывшемся окне с вкладкой «Дополнительно» нажимаем кнопку, указанную на скриншоте ниже.
Здесь мы видим два блока. Первый содержит пользовательские переменные, а второй системные.
Если требуется просмотреть весь перечень, запускаем «Командную строку» от имени администратора и выполняем команду (вводим и нажимаем ENTER).
На рабочем столе появится файл с названием «set.txt», в котором будут указаны все переменные окружения, имеющиеся в системе.
Все их можно использовать в консоли или скриптах для запуска программ или поиска объектов, заключив имя в знаки процента. Например, в команде выше вместо пути
Примечание: регистр при написании переменных не важен. Path=path=PATH
Переменные PATH и PATHEXT
Если с обычными переменными все понятно (одна ссылка – одно значение), то эти две стоят особняком. При детальном рассмотрении видно, что они ссылаются сразу на несколько объектов. Давайте разберемся, как это работает.
«PATH» позволяет запускать исполняемые файлы и скрипты, «лежащие» в определенных каталогах, без указания их точного местоположения. Например, если ввести в «Командную строку»
система осуществит поиск по папкам, указанным в значении переменной, найдет и запустит соответствующую программу. Этим можно воспользоваться в своих целях двумя способами:
- Поместить необходимый файл в одну из указанных директорий. Полный список можно получить, выделив переменную и нажав «Изменить».
%SYSTEMROOT% определяет путь до папки «Windows» независимо от буквы диска.
Затем нажимаем ОК в окнах «Переменные среды» и «Свойства системы».
Для применения настроек, возможно, придется перезапустить «Проводник». Сделать это быстро можно так:
Открываем «Командную строку» и пишем команду
taskkill /F /IM explorer.exe
Все папки и «Панель задач» исчезнут. Далее снова запускаем «Проводник».
Еще один момент: если вы работали с «Командной строкой», ее также следует перезапустить, то есть консоль не будет «знать», что настройки изменились. Это же касается и фреймворков, в которых вы отлаживаете свой код. Также можно перезагрузить компьютер или выйти и снова зайти в систему.
Теперь все файлы, помещенные в «C:Script» можно будет открывать (запускать), введя только их название.
«PATHEXT», в свою очередь, дает возможность не указывать даже расширение файла, если оно прописано в ее значениях.
Принцип работы следующий: система перебирает расширения по очереди, пока не будет найден соответствующий объект, причем делает это в директориях, указанных в «PATH».
Создание переменных среды
Создаются переменные просто:
- Нажимаем кнопку «Создать». Сделать это можно как в пользовательском разделе, так и в системном.
Для примера переделаем команду, которую мы использовали для получения списка (самая первая в статье). Теперь нам вместо
потребуется ввести только
Заключение
Использование переменных окружения позволяет значительно сэкономить время при написании скриптов или взаимодействии с системной консолью. Еще одним плюсом является оптимизация создаваемого кода. Имейте в виду, что созданные вами переменные отсутствуют на других компьютерах, и сценарии (скрипты, приложения) с их использованием работать не будут, поэтому перед тем, как передавать файлы другому пользователю, необходимо уведомить его об этом и предложить создать соответствующий элемент в своей системе.
Мы рады, что смогли помочь Вам в решении проблемы.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Environment variables windows 10 где находится
Добрый день уважаемые читатели и гости блога, сегодня я с вами хочу обсудить вот такую тему, что такое переменные среды Windows, где их можно использовать, как в обычной практике пользователя, так и в практике системного администратора, я вам приведу несколько примеров. Как все это дело настраивается и изменяется под ваши нужны, на мой взгляд это фундаментальные знания, понимание которых вам лучше покажет принцип работы операционных систем семейства Windows.
Что такое переменные среды windows
Давайте разберемся в понятии, и так переменная окружения ( environment variable ) это специального рода ссылки уменьшенного размера, на определенные объекты операционной системы Windows, используемые разными программами для хранения информации и взаимодействия с ней. Можно провести аналогию с относительными ссылками на сайтах, где нет явного указания на протокол. Чаще всего это пути до конкретных директорий в ОС.
ИЛИ
Переменная среды — это динамический «объект» на компьютере, содержащий редактируемое значение, которое может использоваться одной или несколькими программами в Windows. Переменные среды помогают программам узнать, в какой каталог устанавливать файлы, где хранить временные файлы и где найти настройки профиля пользователя. Они помогают формировать среду, которую программы на вашем компьютере используют для запуска.
Где используют переменные среды Windows
Приведу несколько примеров:
- В скриптах > когда нужно например каждому пользователю сделать какую-то настройку, для примера положить на рабочий стол новую папку с документами. Так как для каждого пользователя путь до рабочего стола свой, вида C:UserslackyDesktop, а можно обратиться и по относительному пути за счет переменной %HOMEPATH%, если вы в проводнике введете %HOMEPATH%Desktop, то попадете на рабочий стол текущего пользователя.
- в групповой политике, для настройки пользовательских окружений, например перемещаемые профили.
- Оптимизация кода > если в коде очень часто используются одни и те же пути к файлам или папкам, а так же ключам реестра, вы можете легко назначить короткую переменную для дальнейшего использования. Ниже я вам приведу сводный список по переменным средам windows 10 и предыдущих версий, а так же покажу как их создавать и менять.
Список переменных сред windows 10
Приведенный глобальный список, в полной мере подойдет и для Windows 7 и для Windows 8.1, все проверено лично. Уверен, что данные знания, очень сильно вам помогут оптимизировать свою работу.
- %ALLUSERSPROFILE% > данная переменная отправит вас в папку C:ProgramData
- %windir% > это папка C:Windows
- %APPDATA% > вы попадается в скрытую папку C:UsersИмя_пользователяAppDataRoaming
- %CommonProgramFiles% > папка C:Program FilesCommon Files
- %CommonProgramFiles(x86)% > перекинет вас в C:Program Files (x86)Common Files
- %CommonProgramW6432% > перекинет вас C:Program FilesCommon Files
- %COMPUTERNAME% > Имя_компьютера, используется скриптах
- %ComSpec% > откроет командную строку Windows 10 C:Windowssystem32cmd.exe
- %HOMEDRIVE% > путь к диску C:
- %HOMEPATH% > эта переменная среды windows перекинет вас в папку пользователя UsersИмя_пользователя
- %LOCALAPPDATA% > эта переменная среды windows перекинет вас в папку C:UsersИмя_пользователяAppDataLocal
- %LOGONSERVER% > Имя_компьютера
- %NUMBER_OF_PROCESSORS% > Количество_процессоров
- %OS% > Windows_NT, так же используется в скриптах
- %Path% > C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;
- %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:Windowssystem32WindowsPowerShellv1.0Modules согласитесь очеь быстро
- %PUBLIC% > C:UsersPublic
- %SystemDrive% > диск C:
- %SystemRoot% > C:Windows
- %TEMP% > C:UsersИмя_пользователяAppDataLocalTemp (по умолчанию)
- %TMP% > C:UsersИмя_пользователяAppDataLocalTemp (по умолчанию)
- %USERDOMAIN% > Имя_компьютера
- %USERDOMAIN_ROAMINGPROFILE% > Имя_компьютера
- %USERNAME% > Имя_пользователя
- %USERPROFILE% > C:UsersИмя_пользователя
Как вывести список всех переменных Windows
В Windows 10 и других версиях, можно вывести список всех переменных сред Windows, для этого откройте командную строку от имени администратора и введите команду SET. В результате вы получите все переменные среды windows 10 по умолчанию для конкретной операционной системы.
Для удобства вы можете экспортировать весь этот список в текстовый файл, для этого введите:
Вот содержимое данного документы.
То же самое можно посмотреть и с помощью оболочки PowerShell, в которой нужно ввести:
Name Value
—- ——
ALLUSERSPROFILE C:ProgramData
APPDATA C:UsersАдминистраторAppDataRoaming
CommonProgramFiles C:Program FilesCommon Files
CommonProgramFiles(x86) C:Program Files (x86)Common Files
CommonProgramW6432 C:Program FilesCommon Files
COMPUTERNAME DC01
ComSpec C:Windowssystem32cmd.exe
FP_NO_HOST_CHECK NO
HOMEDRIVE C:
HOMEPATH UsersАдминистратор
LOCALAPPDATA C:UsersАдминистраторAppDataLocal
LOGONSERVER \DC01
NUMBER_OF_PROCESSORS 4
OS Windows_NT
Path C:Program Files (x86)Common FilesOracleJavajavapath;C:Windowssystem32;C:Windo.
PATHEXT .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.CPL
PROCESSOR_ARCHITECTURE AMD64
PROCESSOR_IDENTIFIER Intel64 Family 6 Model 44 Stepping 2, GenuineIntel
PROCESSOR_LEVEL 6
PROCESSOR_REVISION 2c02
ProgramData C:ProgramData
ProgramFiles C:Program Files
ProgramFiles(x86) C:Program Files (x86)
ProgramW6432 C:Program Files
PSModulePath C:UsersАдминистраторDocumentsWindowsPowerShellModules;C:Program FilesWindowsPo.
PUBLIC C:UsersPublic
SESSIONNAME Console
SystemDrive C:
SystemRoot C:Windows
TEMP C:Users836D
1AppDataLocalTemp1
TMP C:Users836D
1AppDataLocalTemp1
USERDNSDOMAIN ROOT.PYATILISTNIK.ORG
USERDOMAIN ROOT
USERDOMAIN_ROAMINGPROFILE ROOT
USERNAME Администратор
USERPROFILE C:UsersАдминистратор
windir C:Windows
Еще одним методом посмотреть переменные операционной системы, выступает реестр Windows. Нажимаем WIN+R и вводим regedit. В открывшемся окне редактор реестра, перейдите в ветку:
Для просмотра переменных для компьютера
Для просмотра переменных для пользователя
Создаем переменные среды windows 10 (Графический метод)
ПО мимо уже имеющихся переменных Windows 10, вы можете создать и новые, это очень легко и не запрещается. Что от вас требуется, вам необходимо зайти в свойства системы. Тут несколько методов, если мы говорим про Windows 10, то можно сделать через правый клик по кнопке «Пуск», выбрав пункт система.
Универсальный метод, это зайти в свойства моего компьютера или нажать сочетание клавиш WIN+Pause Breake.
С окне свойства системы, вы должны перейти в пункт «Дополнительные параметры системы»
Далее пункт переменные среды.
И перед вами два вида переменных сред Windows:
- Временные переменные temp
- Системные переменные
И те и другие можно легко изменить или создать.
Для примера я создам новую системную переменную, назову ее SYSPREP и укажу путь до папки C:WindowsSystem32Sysprep
Проверяю, что все добавилось. И теперь вбив переменную %SYSPREP% у меня откроется C:WindowsSystem32Sysprep.
Как видите тут ничего сложного нет, благодаря вот таким вещам вы можете сильно упростить себе жизнь и экономить много времени.
Управление переменными средами Windows через PowerShell
Переменные среды в PowerShell — это особые типы переменных, которые предоставляют системе информацию о среде операционной системы. С помощью переменных среды вы можете просматривать и изменять переменные в реестре Windows, а также переменные, установленные для конкретного сеанса.
PowerShell есть функция, называемая провайдерами, которая создает один или несколько дисков, представляющих собой иерархические структуры, подобные файловой системе, которые позволяют пользователю управлять различными областями в Windows. Один из этих провайдеров предназначен для переменных среды под названием Environment .
В PowerShell переменные среды хранятся на Env:, доступном через поставщика среды PowerShell. Это не физический диск, а виртуальная файловая система.
Как вы можете видеть выше, у поставщика среды есть диск с именем Env. Этот диск предоставляет все переменные среды в системе Windows. Например, командлет Get-ChildItem можно использовать для перечисления всех переменных пользовательской среды в вашей системе.
Как установить локальную переменную среды Windows
Когда вы создаете обычную переменную, она считается локальной, то есть она не определена вне оболочки, которая ее создала, как только вы закроете текущее окно PowerShell, ваша переменная исчезнет — это есть локальная переменная. Давайте создадим ее.
Чтобы изменить значение нужной переменной, просто повторите команду с нужным значением.
Чтобы добавить к текущему значению, еще одно, то используйте оператор += и разделите значение точкой с запятой (;)
Но не забываем, что это временная переменная для текущего сеанса.
Как сделать постоянные переменные среды Windows для пользователя
Чтобы установить переменную среды Windows, которая будет доступна для всех процессов, запускаемых вашей учетной записью, используйте следующее:
Как сделать постоянные переменные среды Windows для компьютера
Чтобы создать переменную среды, видимую для каждого процесса, работающего на машине:
Тут PowerShell использует класс [System.Environment] с методом SetEnvironmentVariable для переменной среды.
Или такой вариант:
Как удалить переменную среды Windows
Чтобы удалить нужную переменную используйте вот такую конструкцию, в моем примере я удалю переменную siteName.
Как выгрузить переменные среды Windows в файл через PowerShell
Если вы хотите сохранить список текущих переменных сред Windows в текстовом файле, то введите команду:
На этом у меня все, если у вас остались вопросы, то пишите постараемся вместе в них разобраться.
Создание и управление переменными средами Windows через командную строку
Не будим списывать со счетов старую, добрую командную строку, так как она умеет так же работать с переменными Windows. Запустите ее от имени администратора.
- Создадим новую пользовательскую переменную MY-EMAIL, для этого пишем:
Не забываем перезапустить командную строку, иначе новую переменную вы не увидите.