环境变量存储在注册表中的哪里?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了环境变量存储在注册表中的哪里?相关的知识,希望对你有一定的参考价值。

我需要远程访问环境变量。要做到这一点,我认为最好的方法是从注册表中读取它。

环境变量存储在注册表中的哪里?

答案

这是他们通过Server 2012 R2存储在XP上的地方:

用户变量

HKEY_CURRENT_USEREnvironment

系统变量

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment
另一答案

我意识到这已经过时了,但在Windows 7中有一种更有效的方法。默认安装SETX并支持连接到其他系统。

要修改您将使用的远程系统全局环境变量

setx /m /s HOSTNAME-GOES-HERE VariableNameGoesHere VariableValueGoesHere

这不需要重新启动资源管理器。

另一答案

我总是遇到问题,我做了一个getx.bat:

::getx %envvar% [m]
::reads envvar from user enviroment variable and stores it in getxvalue variable
::with m read system enviroment

@SETLOCAL EnableDelayedExpansion
@echo OFF

@set l_regpath="HKEY_CURRENT_USEREnvironment"
@if "m"=="%2" set l_regpath="HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment"

::REG ADD "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment" /v PATH /t REG_SZ /f /d "%PATH%"
::@REG QUERY %l_regpath% /v %1 /S

@FOR /F "tokens=*" %%A IN ('REG QUERY %l_regpath% /v %1 /S') DO (
@  set l_a=%%A
@   if NOT "!l_a!"=="!l_a:    =!" set l_line=!l_a! 
)

::delimiter is four spaces change it to tab 	
@set l_line=!l_line!
@set l_line=%l_line:    =   %

@set getxvalue=

@FOR /F "tokens=3* delims=  " %%A IN ("%l_line%") DO (
@   set getxvalue=%%A
)
@set getxvalue=!getxvalue!
@echo %getxvalue% > getxfile.tmp.txt
@ENDLOCAL

::we already used tab as delimiter
@FOR /F "delims=    " %%A IN (getxfile.tmp.txt) DO (
    @set getxvalue=%%A
)
@del getxfile.tmp.txt

@echo ON
另一答案

CMD:

reg query "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment"
reg query HKEY_CURRENT_USEREnvironment

电源外壳:

Get-Item "HKLM:SYSTEMCurrentControlSetControlSession ManagerEnvironment"
Get-Item HKCU:Environment

Powershell / .NET :(见https://msdn.microsoft.com/en-us/library/system.environmentvariabletarget(v=vs.110).aspx

[System.Environment]::GetEnvironmentVariables([System.EnvironmentVariableTarget]::Machine)
[System.Environment]::GetEnvironmentVariables([System.EnvironmentVariableTarget]::User)

以上是关于环境变量存储在注册表中的哪里?的主要内容,如果未能解决你的问题,请参考以下文章

如何在导航抽屉活动模板中的片段之间传递字符串变量

闭包中的变量存储在哪里 - 堆栈或堆?

当我点击我的应用程序中的注册用户片段时应用程序崩溃..其中包含recyclerview

Android MVVM在哪里存储数据?

重新加载时刷新片段

Windows 10 音频输入设备设置存储在哪里?