- Windows equivalent of $export
- How to export and import environment variables in windows?
- How to export and import environment variables in windows?
- HowTo: Set an Environment Variable in Windows — Command Line and Registry
- Windows command line alternative for «export»
- 2 ways to List environment variables in command line windows
- Windows: List Environment Variables – CMD & PowerShell
- How to Set Environment Variable in Windows
Windows equivalent of $export
People also askHow to create an environment variable in Windows?How to create
an environment variable in Windows?To Create a User Environment Variable in
Windows 10,
$ export PROJ_HOME=$HOME/proj/111
$ export PROJECT_BASEDIR=PROJ_HOME/exercises/ex1
$ mkdir -p $PROJ_HOME
SET PROJ_HOME=%USERPROFILE%/proj/111
SET PROJECT_BASEDIR=%PROJ_HOME%/exercises/ex1
mkdir "%PROJ_HOME%"
How to export and import environment variables in windows?
Add a comment. 127. I would use the SET command from the command prompt to
export all the variables, rather than just PATH as recommended above. C:\> SET
>> allvariables.txt. To import the variablies, one can use a simple loop: C:\>
for /F %A in (allvariables.txt) do SET %A. Share.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
HKEY_CURRENT_USER\Environment
C:\> SET >> allvariables.txt
C:\> for /F %A in (allvariables.txt) do SET %A
regedit /e "%userprofile%\Desktop\my_user_env_variables.reg" "HKEY_CURRENT_USER\Environment"
set TODAY=%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%
regedit /e "%CD%\user_env_variables[%TODAY%].reg" "HKEY_CURRENT_USER\Environment"
regedit /e "%CD%\global_env_variables[%TODAY%].reg" "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
global_env_variables[2017-02-14].reg
user_env_variables[2017-02-14].reg
C:\> PATH > path.txt
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
HKEY_CURRENT_USER\Environment
@echo off
:: RegEdit can only export into a single file at a time, so create two temporary files.
regedit /e "%CD%\environment-backup1.reg" "HKEY_CURRENT_USER\Environment"
regedit /e "%CD%\environment-backup2.reg" "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
:: Concatenate into a single file and remove temporary files.
type "%CD%\environment-backup1.reg" "%CD%\environment-backup2.reg" > environment-backup.reg
del "%CD%\environment-backup1.reg"
del "%CD%\environment-backup2.reg"
gci env:* | sort-object name | Where-Object {$_.Name -like "MyApp*"} | Foreach {"[System.Environment]::SetEnvironmentVariable('$($_.Name)', '$($_.Value)', 'Machine')"}
# export_env.ps1
$Date = Get-Date
$DateStr = '{0:dd-MM-yyyy}' -f $Date
mkdir -Force $PWD\env_exports | Out-Null
regedit /e "$PWD\env_exports\user_env_variables[$DateStr].reg" "HKEY_CURRENT_USER\Environment"
regedit /e "$PWD\env_exports\global_env_variables[$DateStr].reg" "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment">>SystemEnvVariablesSourceMachine.txt
reg query "HKEY_CURRENT_USER\Environment">>UserEnvVariablesSourceMachine.txt
(?:\A\r?\n|^HKEY_CURRENT_USER\\Environment\r?\n?|^HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment\r?\n?|^\r?\n$|\r?\n\Z)
Literally Empty
^\s+(.*?)\s{4}\w+\s{4}(.*?)$
\1=\2
SystemEnvVariablesDestinationMachine.txt
UserEnvVariablesDestinationMachine.txt
SystemEnvVariablesFinalMerge.txt
UserEnvVariablesFinalMerge.txt
(^\w+=|.*?(?:;|$))
\1\n
(.)$\r?\n
\1
Get-Content .\UserEnvVariablesFinalMerge.txt | ForEach-Object {
$envVarDataSplit = $($_).split("=")
if($($envVarDataSplit).count -gt 0)
{
Write-Output "Key: $($envVarDataSplit[0]) ~ Value: $($envVarDataSplit[1])"
SETX $envVarDataSplit[0] "$($envVarDataSplit[1])"
}
}
Get-Content .\SystemEnvVariablesFinalMerge.txt | ForEach-Object {
$envVarDataSplit = $($_).split("=")
if($($envVarDataSplit).count -gt 0)
{
Write-Output "Key: $($envVarDataSplit[0]) ~ Value: $($envVarDataSplit[1])"
SETX $envVarDataSplit[0] "$($envVarDataSplit[1])" /M
}
}
How to export and import environment variables in windows?
The first set are system/global environment variables; the second set are
user-level variables. Edit as needed and then import the .reg files on the new
machine. I would use the SET command from the command prompt to export all the
variables, rather than just PATH as recommended above. C:\> SET >>
allvariables.txt
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
HKEY_CURRENT_USER\Environment
C:\> SET >> allvariables.txt
C:\> for /F %A in (allvariables.txt) do SET %A
regedit /e "%userprofile%\Desktop\my_user_env_variables.reg" "HKEY_CURRENT_USER\Environment"
HowTo: Set an Environment Variable in Windows — Command Line and Registry
To set persistent environment variables at the command line, we will use
setx.exe. It became part of Windows as of Vista/Windows Server 2008. Prior to
that, it was part of the Windows Resource Kit. If you need the Windows
Resource Kit, see Resources at the bottom of the page. setx.exe does not set
the environment variable in the current command
1
set
1
2
3
4
5
6
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\user\AppData\Roaming
.
.
.
windir=C:\Windows
1
echo %ProgramFiles%
1
C:\Program Files
1
Get-ChildItem Env:
1
2
3
4
5
6
7
8
Name Value
---- -----
ALLUSERSPROFILE C:\ProgramData
APPDATA C:\Users\user\AppData\Roaming
.
.
.
windir C:\Windows
1
echo $Env:ProgramFiles
1
C:\Program Files
1
setx EC2_CERT "%USERPROFILE%\aws\cert.pem"
1
echo %EC2_CERT%
1
C:\Users\user\aws\cert.pem
1
setx EC2_HOME "%APPDATA%\aws\ec2-api-tools" /M
1
reg query HKEY_CURRENT_USER\Environment
1
2
3
HKEY_CURRENT_USER\Environment
TEMP REG_EXPAND_SZ %USERPROFILE%\AppData\Local\Temp
TMP REG_EXPAND_SZ %USERPROFILE%\AppData\Local\Temp
1
reg query HKEY_CURRENT_USER\Environment /v TEMP
1
2
HKEY_CURRENT_USER\Environment
TEMP REG_EXPAND_SZ %USERPROFILE%\AppData\Local\Temp
1
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
ComSpec REG_EXPAND_SZ %SystemRoot%\system32\cmd.exe
FP_NO_HOST_CHECK REG_SZ NO
NUMBER_OF_PROCESSORS REG_SZ 8
OS REG_SZ Windows_NT
Path REG_EXPAND_SZ C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
PATHEXT REG_SZ .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE REG_SZ AMD64
PROCESSOR_IDENTIFIER REG_SZ Intel64 Family 6 Model 60 Stepping 3, GenuineIntel
PROCESSOR_LEVEL REG_SZ 6
PROCESSOR_REVISION REG_SZ 3c03
PSModulePath REG_EXPAND_SZ %SystemRoot%\system32\WindowsPowerShell\v1.0\Modules\;C:\Program Files\Intel\
TEMP REG_EXPAND_SZ %SystemRoot%\TEMP
TMP REG_EXPAND_SZ %SystemRoot%\TEMP
USERNAME REG_SZ SYSTEM
windir REG_EXPAND_SZ %SystemRoot%
1
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PATH
1
2
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
PATH REG_EXPAND_SZ C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
1
reg delete HKEY_CURRENT_USER\Environment /v USER_EXAMPLE /f
1
The operation completed successfully.
1
reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v SYSTEM_EXAMPLE /f
1
ERROR: Access is denied.
1
The operation completed successfully.
1
setx throwaway trash
1
SUCCESS: Specified value was saved.
Windows command line alternative for «export»
Windows command line alternative for «export» Ask Question Asked 4 years, 4
months ago. Modified 2 years ago. Viewed 20k times 9 1. I’ve bought a book
about Machine Learning, and it needs an environment setup. windows command-
line environment-variables. Share. Improve this question. Follow edited Mar
30, 2018 at 14:02.
$ export ML_PATH="$HOME/ml"
$ mkdir -p $ML_PATH
SET ML_PATH="$HOME/ml"
SET mkdir $ML_PATH`
2 ways to List environment variables in command line windows
set command to get environment variable list. set command in windows used to
set the environment variables for command line scope. Syntax. set
VARIABLE=path/value. Here’s an example of setting JAVA HOME to the JDK route.
set JAVA_HOME=c:\JDK1.9. `SET command also lists all environment variables.
Here simple set command print all environment
set VARIABLE=path/value
set JAVA_HOME=c:\JDK1.9
C:\>set
ALLUSERSPROFILE=C:\ProgramData
ANDROID_HOME=A:\android\sdk
ANT_HOME=A:\Java\apache-ant-1.10.0
APPDATA=C:\Users\Kiran\AppData\Roaming
ChocolateyInstall=C:\ProgramData\chocolatey
ChocolateyLastPathUpdate=132329753418192180
ChocolateyToolsLocation=C:\tools
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=KIRAN
ComSpec=C:\WINDOWS\system32\cmd.exe
DERBY_HOME=C:\db-derby-10.14.2.0-bin
DriverData=C:\Windows\System32\Drivers\DriverData
GOOGLE_API_KEY=no
set | more
C:\>set > output.txt
C:\>set derby
DERBY_HOME=C:\db-derby-10.14.2.0-bin
Get-ChildItem Env:
Windows: List Environment Variables – CMD & PowerShell
An environment variable is a dynamic “object” containing an editable value
which may be used by one or more software programs in Windows. In this note i
am showing how to list environment variables and display their values from the
Windows command-line prompt and from the PowerShell. Cool Tip: Add a directory
to Windows %PATH% environment
C:\> set
C:\> echo %ENVIRONMENT_VARIABLE%
PS C:\> gci env:* | sort-object name
PS C:\> echo $env:ENVIRONMENT_VARIABLE
How to Set Environment Variable in Windows
Set Environment Variable in Windows via GUI. Follow the steps to set
environment variables using the Windows GUI: 1. Press Windows + R to open the
Windows Run prompt. 2. Type in sysdm.cpl and click OK. 3. Open the Advanced
tab and click on the Environment Variables button in the System Properties
window. 4.
set
Get-ChildItem Env:
echo %[variable_name]%
echo $Env:[variable_name]
setx [variable_name] "[variable_value]"
setx Test_variable "Variable value"
setx [variable_name] "[variable_value]" /M
reg query HKEY_CURRENT_USEREnvironment
reg query "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment"
reg query HKEY_CURRENT_USEREnvironment /v [variable_name]
reg query "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment" /v [variable_name]
reg delete HKEY_CURRENT_USEREnvironment /v [variable_name] /f
reg delete "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment" /v [variable_name] /f
setx [variable_name] trash
Если Вам нужно настроить PATH в Linux — перейдите
сюда
↓
Contents
↓
Для чего используется |
|
Пример |
|
Добавить директорию в PATH |
|
Изучить содержимое PATH |
|
Errors |
|
Postgesql |
Для чего используется
Когда Вы выполняете какую-либо команду в консоли, система ищет соответствие
между названием этой команды и программой, которую можно выполнить.
Искать по всему жёсткому диску было бы слишком долго, поэтому поиск
осуществляется только по некоторым директориям.
Список этих особых директорий хранится в системной переменной PATH.
Пример
Предположим, что возникла необходимость запускать какую-то программу, например
Firefox
, непосредственно из командной строки.
Без предварительной подготовки ввод Firefox в консоль выдаст ошибку.
C:\Users\a>firefox
‘firefox’ is not recognized as an internal or external command, operable program or batch file.
To решить эту проблему нужно добавить директорию с испоняемым файлом firefox в PATH
Добавить директорию в PATH
Быстрый способ перейти к редактированию PATH — нажать клавишу Win и ввести в поиск env
Пошаговый способ:
Правый клик на Этот Компьютер (This PC) → Свойства (Properties)
Дополнительные параметры системы (Advanced system settings)
Дополнительно (Advanced) → Переменные среды (Environment Variables)
Если хотите менять для всей системы, то в окошке «Переменные среды»
(System Variables)
найдите строку PATH в блоке
«Системные переменные» (System variables)
выделите кликом и нажмите кнопку «Изменить…» (Edit…)
Если хотите менять только для своего пользователя, то делайте это в блоке
«Переменные среды пользователя %USERNAME%» (User variables for %USERNAME%)
Создайте новый путь (New)
Введите адрес директории в которой лежит нужная программа. В нашем случае это
C:\Program Files (x86)\Mozilla Firefox
Перезапустите консоль или открываем новую и пишем там firefox.
C:\Users\a>firefox
Браузер должен запуститься.
Изучить содержимое PATH
В PowerShell достаточно выполнить
echo $Env:Path
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;
Или
Get-ChildItem Env:Path
Name Value
—- ——
Path C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPo…
В cmd.exe посмотреть список переменных
окружения можно выполнив команду
set
без параметров.
set
Выдача содержит системные переменные и переменные пользователя
а также дополнительную информацию. Содержимое PATH выделено зелёным.
Errors
-bash: syntax error near unexpected token `(‘
Скорее всего Вы пытаетесь добавить в unix PATH адрес из Windows, c пробелами, скобками и так далее.
Например:
andrey@olegovich-10:/usr/share$ export PATH=/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath_target_1128437:$PATH
-bash: syntax error near unexpected token `(‘
Для решения этой проблемы Вам нужно экранировать пробелы и скобки. Если импортируется много путей и ввод очень длинный —
немного проще записать PATH=$PATH:/путь , если Вам подходит запись в конец.
Также нужно помнить, что все лишние пробелы сломают импорт — для проверки можно сделать весь скрипт в одну строку
в текстовом редакторе.
Также стоит помнить, что если Вы работаете в
bash под Windows
,
то переменные окружения нужно задавать через Windows.
andrey@olegovich-10:/usr/share$ export PATH=$PATH:/mnt/c/Program\ Files\ \(x86\)/Common\ Files/Oracle/Java/javapath_target_1128437
Postgesql
Приведу пример для использования psql из
bash под Windows
— это может пригодиться если Вы хотите временно добавить
путь к psql в PATH чтобы запустить
Postrgres
скрипт.
В моём случае psql.exe находится в папке C:\Program Files\PostgreSQL\12\bin
PATH=$PATH:/mnt/c/Program\ Files/PostgreSQL/12/bin
Related Articles:
The PATH
is an important concept when working on the command line. It’s a list
of directories that tell your operating system where to look for programs, so
that you can just write script
instead of /home/me/bin/script
or
C:\Users\Me\bin\script
. But different operating systems have different ways to
add a new directory to it:
Windows
- The first step depends which version of Windows you’re using:
- If you’re using Windows 8 or 10, press the Windows key, then search for and
select «System (Control Panel)». - If you’re using Windows 7, right click the «Computer» icon on the desktop
and click «Properties».
- Click «Advanced system settings».
- Click «Environment Variables».
- Under «System Variables», find the
PATH
variable, select it, and click
«Edit». If there is noPATH
variable, click «New». - Add your directory to the beginning of the variable value followed by
;
(a
semicolon). For example, if the value wasC:\Windows\System32
, change it to
C:\Users\Me\bin;C:\Windows\System32
. - Click «OK».
- Restart your terminal.
Mac OS X
- Open the
.bash_profile
file in your home directory (for example,
/Users/your-user-name/.bash_profile
) in a text editor. - Add
export PATH="your-dir:$PATH"
to the last line of the file, where
your-dir is the directory you want to add. - Save the
.bash_profile
file. - Restart your terminal.
Linux
- Open the
.bashrc
file in your home directory (for example,
/home/your-user-name/.bashrc
) in a text editor. - Add
export PATH="your-dir:$PATH"
to the last line of the file, where
your-dir is the directory you want to add. - Save the
.bashrc
file. - Restart your terminal.
PATH
is an environment variable that specifies a set of directories, separated with semicolons (;
), where executable programs are located.
In this note i am showing how to print the contents of Windows PATH
environment variable from the Windows command prompt.
I am also showing how to add a directory to Windows PATH
permanently or for the current session only.
Cool Tip: List environment variables in Windows! Read More →
Print the contents of the Windows PATH
variable from cmd
:
C:\> path
– or –
C:\> echo %PATH%
The above commands return all directories in Windows PATH
environment variable on a single line separated with semicolons (;
) that is not very readable.
To print each entry of Windows PATH
variable on a new line, execute:
C:\> echo %PATH:;=&echo.%
- sample output -
C:\WINDOWS\system32
C:\WINDOWS
C:\WINDOWS\System32\Wbem
C:\WINDOWS\System32\WindowsPowerShell\v1.0\
C:\WINDOWS\System32\OpenSSH\
C:\Program Files\Intel\WiFi\bin\
C:\Program Files\Common Files\Intel\WirelessCommon\
C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL
C:\Program Files\Intel\Intel(R) Management Engine Components\DAL
C:\Program Files\Microsoft VS Code\bin
C:\Users\Admin\AppData\Local\Microsoft\WindowsApps
Cool Tip: Set environment variables in Windows! Read More →
Add To Windows PATH
Warning! This solution may be destructive as Windows truncates PATH
to 1024 characters. Make a backup of PATH
before any modifications.
Save the contents of the Windows PATH
environment variable to C:\path-backup.txt
file:
C:\> echo %PATH% > C:\path-backup.txt
Set Windows PATH For The Current Session
Set Windows PATH
variable for the current session:
C:\> set PATH="%PATH%;C:\path\to\directory\"
Set Windows PATH Permanently
Run as Administrator: The setx
command is only available starting from Windows 7 and requires elevated command prompt.
Permanently add a directory to the user PATH
variable:
C:\> setx path "%PATH%;C:\path\to\directory\"
Permanently add a directory to the system PATH
variable (for all users):
C:\> setx /M path "%PATH%;C:\path\to\directory\"
Info: To see the changes after running setx
– open a new command prompt.
Was it useful? Share this post with the world!
Для быстрого доступа к командам в командной строке без необходимости ввода полного пути к исполняемому файлу можно добавить путь к папке с этими исполняемыми файлами в переменную PATH в Windows, особенно это может быть полезным при работе с adb, pip и python, git, java и другими средствами разработки с отладки.
В этой пошаговой инструкции о том, как добавить нужный путь в системную переменную PATH в Windows 11, Windows 10 или другой версии системы: во всех актуальных версиях ОС действия будут одинаковыми, а сделать это можно как в графическом интерфейсе, так и в командной строке или PowerShell. Отдельная инструкция про переменные среды в целом: Переменные среды Windows 11 и Windows 10.
Добавление пути в PATH в Свойствах системы
Для возможности запуска команд простым обращением к исполняемому файлу без указания пути, чтобы это не вызывало ошибок вида «Не является внутренней или внешней командой, исполняемой программой или пакетным файлом», необходимо добавить путь к этому файлу в переменную среды PATH.
Шаги будут следующими:
- Нажмите клавиши Win+R на клавиатуре (в Windows 11 и Windows 10 можно нажать правой кнопкой мыши по кнопке Пуск и выбрать пункт «Выполнить»), введите sysdm.cpl в окно «Выполнить» и нажмите Enter.
- Перейдите на вкладку «Дополнительно» и нажмите кнопку «Переменные среды».
- Вы увидите список переменных среды пользователя (вверху) и системных переменных (внизу). PATH присутствует в обоих расположениях.
- Если вы хотите добавить свой путь в PATH только для текущего пользователя, выберите «Path» в верхней части и нажмите «Изменить» (или дважды нажмите по переменной PATH в списке). Если для всех пользователей — то же самое в нижней части.
- Для добавления нового пути нажмите «Создать», а затем впишите новый путь, который требуется добавить в переменную PATH в новой строке. Вместо нажатия «Создать» можно дважды кликнуть по новой строке для ввода нового пути.
- После ввода всех необходимых путей нажмите «Ок» — ваша папка или папки добавлены в переменную PATH.
Внимание: после добавления пути в переменную PATH потребуется перезапустить командную строку (если она была запущена в момент изменения), чтобы использовать команды без указания полного пути.
Как добавить путь в переменную PATH в командной строке и PowerShell
Вы можете добавить переменную PATH для текущей сессии в консоли: то есть она будет работать до следующего запуска командной строки. Для этого используйте команду:
set PATH=%PATH%;C:\ваш\путь
Есть возможность добавить путь в PATH с помощью командной строки и на постоянной основе (внимание: есть отзывы, что может повредить записи в переменной PATH, а сами изменения производятся для системной переменной PATH), команда будет следующей:
setx /M path "%path%;C:\ваш\путь"
Набор команд для добавления пути в переменную PATH пользователя с помощью PowerShell:
$PATH = [Environment]::GetEnvironmentVariable("PATH") $my_path = "C:\ваш\путь" [Environment]::SetEnvironmentVariable("PATH", "$PATH;$my_path", "User")
Если требуется добавить путь в системную переменную PATH для всех пользователей, последнюю команду изменяем на:
[Environment]::SetEnvironmentVariable("PATH", "$PATH;$my_path", "Machine")