Compartilhar via


Environment.ExpandEnvironmentVariables(String) Método

Definição

Substitui o nome de cada variável de ambiente inserida na cadeia de caracteres especificada com o equivalente de cadeia de caracteres do valor da variável e, em seguida, retorna a cadeia de caracteres resultante.

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

Parâmetros

name
String

Uma cadeia de caracteres que contém os nomes de zero ou mais variáveis de ambiente. Cada variável de ambiente é delimitado pelo o caractere de sinal de porcentagem (%).

Retornos

String

Uma cadeia de caracteres com cada variável de ambiente substituída por seu valor.

Exceções

name é null.

Exemplos

O exemplo a seguir mostra como obter a unidade do sistema e as variáveis raiz do 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
'

Comentários

A interoperabilidade COM é usada para recuperar as variáveis de ambiente do sistema operacional. Se as variáveis de ambiente não puderem ser recuperadas devido a um erro COM, o HRESULT que explica a causa da falha será usado para gerar uma das várias exceções possíveis; ou seja, a exceção depende do HRESULT. Para obter mais informações sobre como o HRESULT é processado, consulte a seção Comentários do Marshal.ThrowExceptionForHR método.

A substituição ocorre apenas para variáveis de ambiente definidas. Por exemplo, suponha que name seja "MyENV = %MyENV%". Se a variável de ambiente, MyENV, for definida como 42, esse método retornará "MyENV = 42". Se MyENV não estiver definido, nenhuma alteração ocorrerá; este método retorna "MyENV = %MyENV%".

O tamanho do valor retornado é limitado a 32K.

Aplica-se a