Freigeben über


Environment.ExpandEnvironmentVariables(String) Methode

Definition

Ersetzt den Namen aller Umgebungsvariablen, die in die angegebene Zeichenfolge eingebettet sind, durch die Zeichenfolgenentsprechung für den Wert der Variablen und gibt anschließend das Ergebnis als Zeichenfolge zurück.

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

Parameter

name
String

Eine Zeichenfolge, die die Namen von 0 (null) oder mehr Umgebungsvariablen enthält. Jede Umgebungsvariable wird mit dem Prozentzeichen (%) angegeben.

Gibt zurück

Eine Zeichenfolge, bei der alle Umgebungsvariablen durch ihren Wert ersetzt wurden.

Ausnahmen

name ist null.

Beispiele

Das folgende Beispiel zeigt, wie Sie die Systemlaufwerk- und Systemstammvariablen abrufen.

// 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
'

Hinweise

COM-Interop wird verwendet, um die Umgebungsvariablen aus dem Betriebssystem abzurufen. Wenn die Umgebungsvariablen aufgrund eines COM-Fehlers nicht abgerufen werden können, wird das HRESULT, das die Fehlerursache erläutert, verwendet, um eine von mehreren möglichen Ausnahmen zu generieren. Das heißt, die Ausnahme hängt vom HRESULT ab. Weitere Informationen zur Verarbeitung des HRESULT finden Sie im Abschnitt Hinweise der Marshal.ThrowExceptionForHR -Methode.

Ersetzung erfolgt nur für festgelegte Umgebungsvariablen. Angenommen, es name ist "MyENV = %MyENV%". Wenn die Umgebungsvariable MyENV auf 42 festgelegt ist, gibt diese Methode "MyENV = 42" zurück. Wenn MyENV nicht festgelegt ist, erfolgt keine Änderung. Diese Methode gibt "MyENV = %MyENV%" zurück.

Die Größe des Rückgabewerts ist auf 32.000 begrenzt.

Gilt für: