Partage via


Environment.ExpandEnvironmentVariables(String) Méthode

Définition

Remplace le nom de chaque variable d'environnement incorporée dans la chaîne spécifiée par la chaîne équivalente de la valeur de la variable, puis retourne la chaîne qui en résulte.

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

Paramètres

name
String

Chaîne contenant les noms d'aucune ou plusieurs variables d'environnement. Chaque variable d'environnement est citée avec le signe de pourcentage (%).

Retours

Chaîne avec chaque variable d'environnement remplacée par sa valeur.

Exceptions

name a la valeur null.

Exemples

L’exemple suivant montre comment obtenir le lecteur système et les variables racine du système.

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

Remarques

L’interopérabilité COM est utilisée pour récupérer les variables d’environnement du système d’exploitation. Si les variables d’environnement ne peuvent pas être récupérées en raison d’une erreur COM, le HRESULT qui explique la cause de l’échec est utilisé pour générer l’une des exceptions possibles ; autrement dit, l’exception dépend du HRESULT. Pour plus d’informations sur le traitement du HRESULT, consultez la section Remarques de la Marshal.ThrowExceptionForHR méthode.

Le remplacement se produit uniquement pour les variables d’environnement définies. Par exemple, supposons que name soit « MyENV = %MyENV% ». Si la variable d’environnement MyENV est définie sur 42, cette méthode retourne « MyENV = 42 ». Si MyENV n’est pas défini, aucune modification ne se produit ; cette méthode retourne « MyENV = %MyENV% ».

La taille de la valeur de retour est limitée à 32 Ko.

S’applique à