以编程方式修改环境变量?

Jav*_*ier 19 windows environment-variables

  • Windows 7的.
  • 这是我自己的机器,所以它是否需要管理员权限或其他什么并不重要.
  • 最好是在Python或.NET中,但如果有必要,我可以学习一些Win32(C/C++)编程.

gho*_*g74 21

如果要永久设置环境变量,可以将新值插入注册表.例如,使用vbscript,将路径"c:\ test"添加到PATH变量中

Set WshShell = WScript.CreateObject("WScript.Shell")
strReg = "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path"
strSetting = WshShell.RegRead(strReg)
strNewSetting = strSetting&";c\test"
WshShell.RegWrite strReg, strNewSetting
Run Code Online (Sandbox Code Playgroud)

因此,如果您使用Python或其他语言,您可以使用您自己的语言自己的api /模块来读写注册表

  • 只需将其保存为 .vbs 并运行它。 (2认同)

kic*_*sit 8

在C#中,以下内容创建了一个永久环境变量:

Environment.SetEnvironmentVariable("foo", "bar", EnvironmentVariableTarget.Machine);
Run Code Online (Sandbox Code Playgroud)


MrD*_*ews 6

或者您可以尝试Windows PowerShell脚本; PowerShell默认安装在Windows 7上.

运行powershell.exe

PS C:\> [Environment]::SetEnvironmentVariable("TestVariable", "Test value.", "User")
Run Code Online (Sandbox Code Playgroud)

然后,例如,从cmd.exe

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\>echo %TestVariable%
Test value.

C:\>
Run Code Online (Sandbox Code Playgroud)

或者(在新的)powershell.exe

PS C:\> echo $ENV:TestVariable
Test Value.
PS C:\>
Run Code Online (Sandbox Code Playgroud)

请访问http://technet.microsoft.com/en-us/library/ff730964.aspx


Jef*_*tin 5

对于正在寻找快速命令行答案的其他人

SETX 在 Windows 服务器上可用(我认为原生 - http://technet.microsoft.com/en-us/library/cc755104.aspx

它也可在Windows 78 工具包中使用