1

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

puts ENV['USERNAME'] #=> SYSTEM
4

3 回答 3

4

找到了 !尽管我没有收到错误但结果错误(我的用户名肯定不是 SYSTEM 并且我在解释器中运行脚本,没什么特别的)我不得不要求 win32ole。我之前注意到了这一点,windows 脚本没有运行或没有给出预期的结果,但不要抱怨遗漏了一些东西,当你包含一些库时,它会突然起作用。

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

编辑:当我现在尝试它时,它突然无需要求就可以工作,令人毛骨悚然!我会在其他 W7 电脑上进行一些测试,并随时通知您。

于 2012-06-15T16:23:05.953 回答
0

就是获取环境变量内容的方式。与操作系统无关。

如果返回,SYSTEM那么您的用户名 SYSTEM.

于 2012-06-15T15:35:18.140 回答
0

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

于 2012-06-15T15:35:35.153 回答