次の方法で共有


Environment.ExpandEnvironmentVariables(String) メソッド

定義

指定した文字列に埋め込まれている各環境変数の名前を、その変数の値を表す文字列で置換し、置換後の文字列全体を返します。

public:
 static System::String ^ ExpandEnvironmentVariables(System::String ^ name);
public static string ExpandEnvironmentVariables (string name);
static member ExpandEnvironmentVariables : string -> string
Public Shared Function ExpandEnvironmentVariables (name As String) As String

パラメーター

name
String

0 個以上の環境変数の名前を格納している文字列。 各環境変数は、パーセント文字 (%) で囲まれます。

戻り値

String

各環境変数をその値で置換した文字列。

例外

namenullです。

次の例は、システム ドライブとシステム ルート変数を取得する方法を示しています。

// Sample for the Environment::ExpandEnvironmentVariables method
using namespace System;
int main()
{
   String^ str;
   String^ nl = Environment::NewLine;
   Console::WriteLine();
   
   //  <-- Keep this information secure! -->
   String^ query = "My system drive is %SystemDrive% and my system root is %SystemRoot%";
   str = Environment::ExpandEnvironmentVariables( query );
   Console::WriteLine( "ExpandEnvironmentVariables: {0} {1}", nl, str );
}

/*
This example produces the following results:

ExpandEnvironmentVariables:
My system drive is C: and my system root is C:\WINNT
*/
// Sample for the Environment.ExpandEnvironmentVariables method
using System;

class Sample
{
    public static void Main()
    {
        // Keep this information secure!
        string query = "My system drive is %SystemDrive% and my system root is %SystemRoot%";

        string str = Environment.ExpandEnvironmentVariables(query);

        Console.WriteLine(str);
    }
}
/*
This example prints:

My system drive is C: and my system root is C:\WINDOWS
*/
// Sample for the Environment.ExpandEnvironmentVariables method
open System

let nl = Environment.NewLine

//  <-- Keep this information secure! -->
let query = "My system drive is %SystemDrive% and my system root is %SystemRoot%"
let str = Environment.ExpandEnvironmentVariables query
printfn $"\nExpandEnvironmentVariables: {nl}  {str}"

// This example produces the following results:
//     ExpandEnvironmentVariables:
//       My system drive is C: and my system root is C:\WINNT
' Sample for the Environment.ExpandEnvironmentVariables method
Class Sample
   Public Shared Sub Main()
      Dim str As [String]
      Dim nl As [String] = Environment.NewLine
      
      Console.WriteLine()
      '  <-- Keep this information secure! -->
      Dim query As [String] = "My system drive is %SystemDrive% and" & _ 
                              "my system root is %SystemRoot%"
      str = Environment.ExpandEnvironmentVariables(query)
      Console.WriteLine("ExpandEnvironmentVariables: {0}  {1}", nl, str)
   End Sub
End Class
'
'This example produces the following results:
'
'ExpandEnvironmentVariables:
'  My system drive is C: and my system root is C:\WINNT
'

注釈

COM 相互運用機能は、オペレーティング システムから環境変数を取得するために使用されます。 COM エラーが原因で環境変数を取得できない場合は、エラーの原因を説明する HRESULT を使用して、考えられるいくつかの例外のいずれかを生成します。つまり、例外は HRESULT に依存します。 HRESULT の処理方法の詳細については、メソッドの「解説」セクションを Marshal.ThrowExceptionForHR 参照してください。

置換は、設定されている環境変数に対してのみ行われます。 たとえば、"MyENV = %MyENV%" とします name 。 環境変数 MyENV が 42 に設定されている場合、このメソッドは "MyENV = 42" を返します。 MyENV が設定されていない場合、変更は行われません。このメソッドは "MyENV = %MyENV%" を返します。

戻り値のサイズは 32K に制限されています。

適用対象