从Windows获取环境变量

时间:2012-06-15 15:31:56

标签: ruby windows environment-variables

根据一些答案,以下内容应该为我提供windows中的环境变量用户名。 但是只是给了SYSTEM。我知道获取用户名的其他方法,但在Ruby193 / Windows7中获取环境变量的最简单方法是什么?

puts ENV['USERNAME'] #=> SYSTEM

3 个答案:

答案 0 :(得分:4)

发现它!虽然我没有得到错误但是错误的结果(我的用户名当然不是SYSTEM而且我在解释器中运行脚本,没有什么花哨的)我不得不要求win32ole。 我之前注意到这一点,Windows脚本没有运行或没有给出预期的结果,但是不要抱怨某些东西,当你包含一些库它突然起作用时。

require 'win32ole'
puts ENV['username'] #=> peter

编辑:当我现在尝试它时,它突然工作,没有要求,怪异!我将对其他W7电脑进行一些测试并让你发布。

答案 1 :(得分:0)

获取环境变量内容的方式。无论操作系统如何。

如果返回SYSTEM,则您的用户名 SYSTEM

答案 2 :(得分:0)

如果您的进程作为服务运行(例如,作为Web服务器),则SYSTEM是正确的答案。您可以将服务更改为以其他用户身份运行(但我怀疑这不是您想要做的)。