次の方法で共有


System.Environment.GetEnvironmentVariable メソッド

この記事では、この API のリファレンス ドキュメントへの補足的な解説を提供します。

このメソッドは GetEnvironmentVariable 、現在のプロセスから環境変数の値を取得します。

環境変数名は Unix に似たシステムでは大文字と小文字が区別されますが、Windows では大文字と小文字は区別されません。

Note

ネイティブ ライブラリによって行われたインプロセス環境の変更は、マネージド呼び出し元には表示されません。 逆に、マネージド呼び出し元によって行われたこのような変更は、ネイティブ ライブラリでは見られません。

GetEnvironmentVariable(String) メソッド

このメソッドは GetEnvironmentVariable(String) 、現在のプロセスの環境ブロックからのみ環境変数を取得します。 これは、値EnvironmentVariableTarget.Processが 〘 のメソッドをGetEnvironmentVariable(String, EnvironmentVariableTarget)呼び出すこととtarget同じです。

すべての環境変数とその値を取得するには、メソッドを GetEnvironmentVariables 呼び出します。

Windows システムの場合

Windows システムでは、現在のプロセスの環境ブロックには次のものが含まれます。

  • 作成した親プロセスによって提供されるすべての環境変数。 たとえば、コンソール ウィンドウから起動された .NET アプリケーションは、コンソール ウィンドウのすべての環境変数を継承します。

    親プロセスがない場合は、代わりにマシンごとの環境変数とユーザーごとの環境変数が使用されます。 たとえば、新しいコンソール ウィンドウには、起動時に定義されたすべてのマシンごとの環境変数とユーザーごとの環境変数があります。

  • プロセスの実行中にプロセス ブロックに追加された変数は、値EnvironmentVariableTarget.Processが 〗のメソッドまたはSetEnvironmentVariable(String, String, EnvironmentVariableTarget)メソッドtargetSetEnvironmentVariable(String, String)呼び出すことによって追加されます。 これらの環境変数は、.NET アプリケーションが終了するまで保持されます。

プロセスの開始後に環境変数が作成された場合は、このメソッドを使用して、メソッドまたはSetEnvironmentVariable(String, String, EnvironmentVariableTarget)値が .EnvironmentVariableTarget.Processのメソッドtargetを呼び出SetEnvironmentVariable(String, String)して作成された変数のみを取得できます。

Unix に似たシステムの場合

Unix に似たシステムでは、現在のプロセスの環境ブロックには次の環境変数が含まれます。

Unix に似たシステム上の .NET では、マシンごとまたはユーザーごとの環境変数はサポートされません。

GetEnvironmentVariable(String, EnvironmentVariableTarget) メソッド

すべての環境変数とその値を取得するには、メソッドを GetEnvironmentVariables 呼び出します。

Windows システムの場合

Windows では、このパラメーターは、 target 環境変数を現在のプロセスから取得するか、現在のユーザーまたはローカル コンピューターの Windows オペレーティング システム レジストリ キーから取得するかを指定します。 .NET プロセスを作成した親プロセスで使用できるその他の環境変数と同様に、ユーザーごとおよびマシンごとの環境変数はすべて、現在のプロセスの環境ブロックに自動的にコピーされます。 ただし、現在のプロセスの環境ブロックにのみ追加された環境変数は、メソッドまたはSetEnvironmentVariable(String, String, EnvironmentVariableTarget)値が persist のEnvironmentVariableTarget.Processメソッドtargetを呼び出SetEnvironmentVariable(String, String)して、プロセスの期間中のみ追加されます。

Unix に似たシステムの場合

Unix に似たシステムでは、このメソッドはGetEnvironmentVariable(String, EnvironmentVariableTarget)EnvironmentVariableTarget.Processのみをサポートしますtarget。 値を持targetつ呼び出し、またはEnvironmentVariableTarget.Userサポートされていない呼び出しを返しますnullEnvironmentVariableTarget.Machine

プロセスごとの環境変数は次のとおりです。