1

いくつかの回答によると、以下は私にウィンドウズの環境変数ユーザー名を与えるはずです。しかし、それは単にSYSTEMを与えるだけです。ユーザー名を取得する他の方法を知っていますが、Ruby193 / Windows7で環境変数を取得する最も簡単な方法は何ですか?

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

3 に答える 3

4

それを見つけた !エラーは発生しませんでしたが、結果は間違っていました (私のユーザー名は確かに SYSTEM ではなく、インタープリターでスクリプトを実行しましたが、特別なことは何もしていません) win32ole が必要でした。以前に気づいたのですが、Windowsスクリプトが実行されないか、期待される結果が得られませんが、何かが足りないと文句を言うことはなく、ライブラリを含めると突然機能します。

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

編集:そして、今試してみると、require、spookyなしで突然動作します! 他の W7 PC でいくつかのテストを行い、投稿し続けます。

于 2012-06-15T16:23:05.953 に答える
0

これ、環境変数の内容を取得する方法です。OS問わず。

それが返された場合SYSTEM、あなたのユーザー名 SYSTEMです。

于 2012-06-15T15:35:18.140 に答える
0

プロセスがサービスとして実行されている場合 (たとえば、Web サーバーのように)SYSTEMが正しい答えです。サービスを別のユーザーとして実行するように変更できます (ただし、それはあなたがやりたいことではないと思います)。

于 2012-06-15T15:35:35.153 に答える