Environment.ExpandEnvironmentVariables(String) Metodo

Definizione

Sostituisce il nome di ogni variabile di ambiente incorporata nella stringa specificata con l'equivalente di stringa del valore della variabile, quindi restituisce la stringa risultante.

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

Parametri

name
String

Stringa che contiene i nomi di zero o più variabili di ambiente. Ogni variabile di ambiente è inserita tra apici con il simbolo di percentuale (%).

Restituisce

String

Stringa in cui ogni variabile di ambiente viene sostituita dal relativo valore.

Eccezioni

name è null.

Esempio

Nell'esempio seguente viene illustrato come ottenere l'unità di sistema e le variabili radice del sistema.

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

Commenti

L'interoperabilità COM viene usata per recuperare le variabili di ambiente dal sistema operativo. Se le variabili di ambiente non possono essere recuperate a causa di un errore COM, HRESULT che spiega la causa dell'errore viene usata per generare una delle diverse eccezioni possibili; vale a dire, l'eccezione dipende da HRESULT. Per altre informazioni sull'elaborazione di HRESULT, vedere la sezione Osservazioni del Marshal.ThrowExceptionForHR metodo.

La sostituzione si verifica solo per le variabili di ambiente impostate. Ad esempio, si supponga name di essere "MyENV = %MyENV%". Se la variabile di ambiente MyENV è impostata su 42, questo metodo restituisce "MyENV = 42". Se MyENV non è impostato, non si verifica alcuna modifica; questo metodo restituisce "MyENV = %MyENV%".

La dimensione del valore restituito è limitata a 32K.

Si applica a