[ VB.NET / C# ] 環境変数を取得する ( Environment.ExpandEnvironmentVariables )

Pocket

ここでは、Environment.GetEnvironmentVariable と Environment.ExpandEnvironmentVariables を使用して環境変数を取得するサンプルコードを掲載しています。

スポンサーリンク

環境変数を取得するサンプルコード

Environment.GetEnvironmentVariable によって簡単に環境変数は取得することができます。また、Environment.ExpandEnvironmentVariables のパラメータに %Temp% のようなフォーマットで環境変数を与えることで、実際の環境変数に置き換えることができます。詳細はサンプル内のコメントを参照ください。

VB.NET

    ' 環境変数の名前と値の一覧を取得する
    Dim envVars As IDictionary = Environment.GetEnvironmentVariables()
    ' コンソールに出力
    For Each de As DictionaryEntry In envVars
        Console.WriteLine("{0} = {1}", de.Key, de.Value)
    Next de

    ' 環境変数 "Path" を取得する
    Dim envPath As String = Environment.GetEnvironmentVariable("Path")

    ' Path をセミコロンで区切って配列へ格納
    Dim envPathArray As String() = envPath.Split(";")

    ' コンソールに出力
    For Each s As String In envPathArray
        Console.WriteLine(s)
    Next

    '環境変数"TEMP"を置換する文字列の組み立て
    Dim tmp As String = "%TEMP%" & "\temp.log"

    ' 文字列内の%TEMP% を環境変数TEMPで置き換える
    Dim ret As String = Environment.ExpandEnvironmentVariables(tmp)
    Console.WriteLine(ret)

C#

    // 環境変数の名前と値の一覧を取得する
    IDictionary envVars = Environment.GetEnvironmentVariables();

    // コンソールに出力
    foreach(DictionaryEntry de in envVars) {
        Console.WriteLine("{0} = {1}", de.Key, de.Value);
    }

    // 環境変数 "Path" を取得する
    String envPath = Environment.GetEnvironmentVariable("Path");

    // Path をセミコロンで区切って配列へ格納
    String[] envPathArray = envPath.Split(';');

    // コンソールに出力
    foreach(String s in envPathArray)
    {
        Console.WriteLine(s);
    }

    // 環境変数"TEMP"を置換する文字列の組み立て
    String tmp = @"%TEMP%" + @"\temp.log";

    // 文字列内の%TEMP% を環境変数TEMPで置き換える
    String ret = Environment.ExpandEnvironmentVariables(tmp);
    Console.WriteLine(ret);

なお、環境変数を指定する際に、大文字・小文字の区別はありません。

環境変数の設定と削除

[ VB.NET / C# ] 3種類の環境変数の設定と削除 ( Environment.SetEnvironmentVariable ) に環境変数の設定と削除についてまとめましたので、よろしければあわせてご確認ください。

参考
スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *