Environment.ExpandEnvironmentVariables(String) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Nahradí název každé proměnné prostředí vložené do zadaného řetězce řetězce řetězcovým ekvivalentem hodnoty proměnné a pak vrátí výsledný řetězec.
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
Parametry
- name
- String
Řetězec obsahující názvy nulových nebo více proměnných prostředí. Každá proměnná prostředí je uvozována znakem procenta (%).
Návraty
Řetězec s každou proměnnou prostředí nahrazenou její hodnotou.
Výjimky
name
je null
.
Příklady
Následující příklad ukazuje, jak získat systémovou jednotku a systémové kořenové proměnné.
// 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
'
Poznámky
Komunikace modelu COM slouží k načtení proměnných prostředí z operačního systému. Pokud se proměnné prostředí nedají načíst kvůli chybě MODELU COM, funkce HRESULT, která vysvětluje příčinu selhání, se používá k vygenerování jedné z několika možných výjimek; to znamená, že výjimka závisí na HRESULT. Další informace o zpracování HRESULT najdete v části Poznámky metody Marshal.ThrowExceptionForHR .
K nahrazení dochází pouze u proměnných prostředí, které jsou nastavené. Předpokládejme například, že name
je "MyENV = %MyENV%". Pokud je proměnná prostředí MyENV nastavená na hodnotu 42, vrátí tato metoda hodnotu MyENV = 42. Pokud Není nastavena hodnota MyENV, nedojde k žádné změně; tato metoda vrátí "MyENV = %MyENV%".
Velikost návratové hodnoty je omezená na 32 K.