名前を指定して環境変数を取得するには、Environment.GetEnvironmentVariableメソッドを使用します。すべての環境変数の名前と値は、Environment.GetEnvironmentVariablesメソッドを使って取得できます。
また、Environment.ExpandEnvironmentVariablesメソッドを使って取得する方法もあります。
.NET Framework 2.0以降のVB.NETでは、Environment.GetEnvironmentVariableメソッドの代わりに、My.Application.GetEnvironmentVariableメソッドを使うこともできます。
'環境変数の名前と値をすべて列挙する Dim de As System.Collections.DictionaryEntry For Each de In System.Environment.GetEnvironmentVariables() Console.WriteLine("{0}={1}", de.Key, de.Value) Next de '環境変数"Path"を取得する Console.WriteLine(System.Environment.GetEnvironmentVariable("Path")) '環境変数"windir"を取得する Console.WriteLine(System.Environment.ExpandEnvironmentVariables("%windir%"))
//環境変数の名前と値をすべて列挙する foreach (System.Collections.DictionaryEntry de in System.Environment.GetEnvironmentVariables()) { Console.WriteLine("{0}={1}", de.Key, de.Value); } //環境変数"Path"を取得する Console.WriteLine(System.Environment.GetEnvironmentVariable("Path")); //環境変数"windir"を取得する Console.WriteLine(System.Environment.ExpandEnvironmentVariables("%windir%"));
上に紹介した方法では、現在のプロセスから環境変数を取得しています。Windowsの「環境変数」ダイアログで表示されているような、ユーザー環境変数とシステム環境変数を取得する方法は、.NET Framework 2.0から追加されました。GetEnvironmentVariablesとGetEnvironmentVariableの2番目のパラメータにEnvironmentVariableTarget構造体を指定します。ユーザー環境変数を取得するにはUserを、システム環境変数を取得するにはMachineを指定します。Processを指定すると、何も指定しないときと同様に、現在のプロセスから環境変数を取得します。
'システム環境変数の名前と値をすべて列挙する For Each de As System.Collections.DictionaryEntry _ In System.Environment.GetEnvironmentVariables( _ System.EnvironmentVariableTarget.Machine) Console.WriteLine("{0}={1}", de.Key, de.Value) Next de 'ユーザー環境変数の"TEMP"を取得する Console.WriteLine( _ System.Environment.GetEnvironmentVariable( _ "TEMP", System.EnvironmentVariableTarget.User))
//システム環境変数の名前と値をすべて列挙する foreach (System.Collections.DictionaryEntry de in System.Environment.GetEnvironmentVariables( System.EnvironmentVariableTarget.Machine)) { Console.WriteLine("{0}={1}", de.Key, de.Value); } //ユーザー環境変数の"TEMP"を取得する Console.WriteLine( System.Environment.GetEnvironmentVariable( "TEMP", System.EnvironmentVariableTarget.User));
注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。