尝试检索环境变量返回 null

发布于 2024-12-10 11:56:13 字数 206 浏览 1 评论 0原文

我已使用以下命令为用户设置了一个变量。

c:\>set some="C:\programfiles\win\something"

当我尝试使用 System.Environment.GetVariable("something") 获取变量时,我得到的值为空。

请问谁能解释一下这个问题吗?

I have set a variable to the user with the below command.

c:\>set something="C:\programfiles\win\something"

When I try to get the variable using System.Environment.GetVariable("something"), I get the value as null.

Please can anyone explain the problem on this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

倾听心声的旋律 2024-12-17 11:56:13

如果使用 set 命令设置环境变量,则该变量实际上仅在当前控制台中设置。因此,如果您有一个打印出名为 var.exe 的变量 something 的应用程序,它可以正常工作:

C:\>var.exe


C:\>set something=x

C:\>var.exe
x

但是如果您从另一个控制台(或没有控制台)运行相同的应用程序,该变量将不会被设置。

看来您无法使用 set 命令全局设置环境变量。但是您可以使用 Environment.SetEnvironmentVariable()< 从 .Net 应用程序执行此操作/code>(通过指定 target 参数)或在 Windows 的“环境变量”窗口中手动设置。

If you set environment variable using the set command, that variable is actually set only in the current console. So, if you have application that prints out the variable something called var.exe, it works fine:

C:\>var.exe


C:\>set something=x

C:\>var.exe
x

But if you run the same application from another console (or without one), the variable won't be set.

It seems you can't set environment variable globally using the set command. But you can do it from .Net application using Environment.SetEnvironmentVariable() (by specifying the target parameter) or manually from Windows in the “Environment variables” window.

眼眸里的快感 2024-12-17 11:56:13

set 命令仅在控制台范围内设置变量。您可以在系统属性中设置此变量,而不是这样做。

set command sets the variable only in console scope. Instead of doing this you can set this variable in system properties.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文