いくつかの回答によると、以下は私にウィンドウズの環境変数ユーザー名を与えるはずです。しかし、それは単にSYSTEMを与えるだけです。ユーザー名を取得する他の方法を知っていますが、Ruby193 / Windows7で環境変数を取得する最も簡単な方法は何ですか?
puts ENV['USERNAME'] #=> SYSTEM
いくつかの回答によると、以下は私にウィンドウズの環境変数ユーザー名を与えるはずです。しかし、それは単にSYSTEMを与えるだけです。ユーザー名を取得する他の方法を知っていますが、Ruby193 / Windows7で環境変数を取得する最も簡単な方法は何ですか?
puts ENV['USERNAME'] #=> SYSTEM
それを見つけた !エラーは発生しませんでしたが、結果は間違っていました (私のユーザー名は確かに SYSTEM ではなく、インタープリターでスクリプトを実行しましたが、特別なことは何もしていません) win32ole が必要でした。以前に気づいたのですが、Windowsスクリプトが実行されないか、期待される結果が得られませんが、何かが足りないと文句を言うことはなく、ライブラリを含めると突然機能します。
require 'win32ole'
puts ENV['username'] #=> peter
編集:そして、今試してみると、require、spookyなしで突然動作します! 他の W7 PC でいくつかのテストを行い、投稿し続けます。
これは、環境変数の内容を取得する方法です。OS問わず。
それが返された場合SYSTEM
、あなたのユーザー名は SYSTEM
です。
プロセスがサービスとして実行されている場合 (たとえば、Web サーバーのように)SYSTEM
が正しい答えです。サービスを別のユーザーとして実行するように変更できます (ただし、それはあなたがやりたいことではないと思います)。