在Windows CMD和Powershell中查看、设置、删除临时环境变量
开发者配置环境时,通常需要设置一系列的环境变量例如CUDA_HOME
、PATH
等等,而往往不需要直接在系统对话框中设置全局的环境变量。此时,在终端(CMD、Powershell)中为当前进程设置环境变量就很有实用性了——仅对当前终端起作用,而对系统其他应用无效。
本文分别介绍在CMD中和在Powershell中设置临时环境变量的方法。
CMD
在CMD中,使用set
命令进行环境变量操作。
下面以TEST_ENV_VAR1
为测试环境变量名进行示例:
查看环境变量
set TEST_ENV_VAR1
若环境变量TEST_ENV_VAR1
存在,则输出其值;若TEST_ENV_VAR1
不存在,则输出:
环境变量 TEST_ENV_VAR1 没有定义
或者利用echo
命令查看环境变量值:
echo %TEST_ENV_VAR1%
若环境变量TEST_ENV_VAR1
存在,则输出其值;若TEST_ENV_VAR1
不存在,则输出:
%TEST_ENV_VAR1%
设置环境变量(对当前进程和子进程都有效)
set TEST_ENV_VAR1="HelloVar"
该命令将TEST_ENV_VAR1
的值设置为字符串"HelloVar"。
从当前CMD运行的子进程都会具有此环境变量。
删除环境变量:
运行set命令,将等号后留空即可删除该环境变量,示例如下:
set TEST_ENV_VAR1=
执行此命令后再尝试查看TEST_ENV_VAR1
的值,可检验它是否真的被删除。
测试示例
在命令行中运行一系列命令测试set
命令,效果如下:
C:\Users\A>echo %TEST_ENV_VAR1%
%TEST_ENV_VAR1%
C:\Users\A>set TEST_ENV_VAR1=1
C:\Users\A>echo %TEST_ENV_VAR1%
1
C:\Users\A>set TEST_ENV_VAR1=“你好!”
C:\Users\A>echo %TEST_ENV_VAR1%
“你好!”
C:\Users\A>set TEST_ENV_VAR1=
C:\Users\A>echo %TEST_ENV_VAR1%
%TEST_ENV_VAR1%
Powershell
Powershell中,使用$env:
命令进行环境变量操作。
下面仍然以TEST_ENV_VAR1
为测试环境变量名进行示例:
查看环境变量
$env:TEST_ENV_VAR1
设置环境变量(对当前进程和子进程都有效)
$env:TEST_ENV_VAR1="HelloVar"
该命令将TEST_ENV_VAR1
的值设置为字符串"HelloVar"。
从当前CMD运行的子进程都会具有此环境变量。
删除环境变量:
删除环境变量的命令稍有不同:
Remove-Item Env:\TEST_ENV_VAR1
测试示例
在命令行中运行一系列命令,效果如下:
PS C:\Users\A> $env:TEST_ENV_VAR1
PS C:\Users\A> $env:TEST_ENV_VAR1=123
PS C:\Users\A> $env:TEST_ENV_VAR1
123
PS C:\Users\A> $env:TEST_ENV_VAR1=“Hello Up”
PS C:\Users\A> $env:TEST_ENV_VAR1
Hello Up
PS C:\Users\A> Remove-Item Env:\TEST_ENV_VAR1
PS C:\Users\A> $env:TEST_ENV_VAR1
参考
关于set
命令的用法,可以在Windows的CMD中输入:set /?
获取系统的提示信息。