C#でシステム環境変数を取得する
環境変数を取得する方法
System.Environment.GetEnvironmentVariable(環境変数名)で取得できる。Linuxでのwhichコマンドのように環境変数の値を検索したい場合以下のようにしてできる。
static void Main(string[] args)
{
// コマンドライン引数をチェック
if (args.Length != 1)
{
Console.WriteLine("Usage: Which ");
return;
}
// 環境変数PATHの存在チェック
var path = System.Environment.GetEnvironmentVariable("PATH");
if (String.IsNullOrEmpty(path))
{
Console.WriteLine("PATH is not setted!");
}
var dirList = path.Split(';');
foreach (string d in dirList)
{
if (File.Exists(GetFullPathOfCmd(d, args[0])))
{
Console.WriteLine((GetFullPathOfCmd(d, args[0])));
return;
}
}
Console.WriteLine("Not found!");
}
static private string GetFullPathOfCmd(string dir, string cmd)
{
return dir + "\\" + cmd + ".exe";
}
でOK