Windows 环境变量:通过 CMD 和 PowerShell 写入环境变量

在Windows操作系统中,可以通过命令提示符(CMD)和PowerShell来设置环境变量。下面是具体的步骤和示例代码。

通过CMD写入环境变量

设置用户级别的环境变量

使用setx命令可以为当前用户设置环境变量。这个变量只对当前用户有效。

cmd 复制代码
setx MY_VARIABLE "my value"

若要设置系统级别的环境变量(即对所有用户都有效),需要加上/M参数:

cmd 复制代码
setx MY_VARIABLE "my value" /M

注意:使用setx设置的环境变量不会影响已经打开的CMD窗口,你需要新开一个CMD窗口才能看到效果。

临时设置环境变量(仅对当前CMD会话有效)

如果你想在一个CMD会话中临时设置一个环境变量,可以使用set命令:

cmd 复制代码
set MY_VARIABLE="my value"

这样设置的变量只在当前CMD会话中可用,关闭CMD后该变量就失效了。

通过PowerShell写入环境变量

设置用户级别的环境变量

在PowerShell中,可以使用[Environment]::SetEnvironmentVariable方法来设置环境变量。对于用户级别的环境变量:

powershell 复制代码
[System.Environment]::SetEnvironmentVariable("MY_VARIABLE", "my value", "User")

设置系统级别的环境变量

同样地,对于系统级别的环境变量:

powershell 复制代码
[System.Environment]::SetEnvironmentVariable("MY_VARIABLE", "my value", "Machine")

这里的第三个参数决定了环境变量的作用范围:"User"表示用户级别,"Machine"表示系统级别。

临时设置环境变量(仅对当前PowerShell会话有效)

要在当前PowerShell会话中临时设置环境变量,可以直接给$env:驱动器中的变量赋值:

powershell 复制代码
$env:MY_VARIABLE = "my value"

这种方式设置的环境变量仅在当前PowerShell会话中有效。

注意事项

  • 使用/M参数或指定"Machine"作为作用域时,你可能需要以管理员身份运行CMD或PowerShell。
  • 修改系统级别的环境变量可能会要求重启应用程序或者系统服务才能生效。
  • 设置环境变量后,建议检查是否正确设置了变量,可以使用echo %MY_VARIABLE%(CMD)或echo $env:MY_VARIABLE(PowerShell)来验证。

以上就是在Windows中通过CMD和PowerShell设置环境变量的方法。根据你的需求选择合适的命令和作用域即可。

相关推荐
EverydayJoy^v^13 天前
Linux Shell 高级编程(3)——awk
linux·运维·shell
dingdingfish16 天前
Bash学习 - 第10章:Installing Bash
bash·make·shell·install·configure·5.3
dingdingfish17 天前
Bash学习 - 第8章:Command Line Editing,第6-8节:Programmable Completion
bash·shell·completion·complete·compgen·compopt
白云偷星子18 天前
RHCSA笔记3
shell
dingdingfish18 天前
Bash学习 - 第7章:Job Control
bash·shell·wait·job
dingdingfish18 天前
Bash学习 - 第8章:Command Line Editing,第1-2节:Intro & Readline Interaction
bash·shell·readline
only_Klein19 天前
Shell 三剑客
shell·sed·grep·awk
dingdingfish20 天前
Bash学习 - 第6章:Bash Features,第12节:Shell Compatibility Mode
bash·shell·compat·compatibility
alanesnape20 天前
一个支持在线deBug的编辑器/调试器功能详解
shell·在线编译器·在线debug
dingdingfish20 天前
Bash学习 - 第6章:Bash Features,第10节:The Restricted Shell
bash·shell·rbash·restrict