Używanie zmiennych na potrzeby przechowywania obiektówUsing variables to store objects

Program PowerShell działa z obiektami.PowerShell works with objects. Program PowerShell umożliwia tworzenie nazwane obiekty znane jako zmienne.PowerShell lets you create named objects known as variables. Nazwy zmiennych może zawierać żadnych znaków alfanumerycznych możesz znaki podkreślenia.Variables names can include the underscore character can any alphanumeric characters. W przypadku użycia w programie PowerShell, zmienna jest zawsze określona za pomocą $ znak następuje nazwa zmiennej.When used in PowerShell, a variable is always specified using the $ character followed by variable name.

Tworzenie zmiennejCreating a variable

Można utworzyć zmienną, wpisując prawidłową nazwę zmiennej:You can create a variable by typing a valid variable name:

PS> $loc
PS>

W tym przykładzie zwraca żadnego wyniku, ponieważ $loc nie ma wartości.This example returns no result because $loc doesn't have a value. Można utworzyć zmienną i przypisać jej wartości w tym samym kroku.You can create a variable and assign it a value in the same step. Programu PowerShell tworzy zmienną tylko, jeśli nie istnieje.PowerShell only creates the variable if it doesn't exist. W przeciwnym razie przypisuje określoną wartość do istniejącej zmiennej.Otherwise, it assigns the specified value to the existing variable. Poniższy przykład zapisuje bieżącej lokalizacji w zmiennej $loc:The following example stores the current location in the variable $loc:

$loc = Get-Location

Program PowerShell nie wyświetla danych wyjściowych po wpisaniu tego polecenia.PowerShell displays no output when you type this command. Program PowerShell wysyła dane wyjściowe "Get-Location" $loc.PowerShell sends the output of 'Get-Location' to $loc. W programie PowerShell, który nie jest przypisany lub przekierowanie przesyłane do ekranu.In PowerShell, data that isn't assigned or redirected is sent to the screen. Wpisywanie $loc pokazuje bieżącą lokalizację:Typing $loc shows your current location:

PS> $loc

Path
----
C:\temp

Możesz użyć Get-Member do wyświetlania informacji o zawartości zmiennych.You can use Get-Member to display information about the contents of variables. Get-Member Pokazuje, że $loc jest PATHINFO zawiera obiektu, podobnie jak dane wyjściowe z Get-Location:Get-Member shows you that $loc is a PathInfo object, just like the output from Get-Location:

PS> $loc | Get-Member -MemberType Property

   TypeName: System.Management.Automation.PathInfo

Name         MemberType Definition
----         ---------- ----------
Drive        Property   System.Management.Automation.PSDriveInfo Drive {get;}
Path         Property   System.String Path {get;}
Provider     Property   System.Management.Automation.ProviderInfo Provider {...
ProviderPath Property   System.String ProviderPath {get;}

Manipulowanie zmiennychManipulating variables

Program PowerShell udostępnia kilka poleceń do manipulowania zmiennych.PowerShell provides several commands to manipulate variables. Aby zobaczyć pełną listę w postaci do odczytu, należy wpisać:You can see a complete listing in a readable form by typing:

Get-Command -Noun Variable | Format-Table -Property Name,Definition -AutoSize -Wrap

Program PowerShell tworzy również kilka zmiennych zdefiniowanych w systemie.PowerShell also creates several system-defined variables. Możesz użyć Remove-Variable polecenie cmdlet do usuwania zmiennych, które nie są kontrolowane przez program PowerShell z bieżącej sesji.You can use the Remove-Variable cmdlet to remove variables, which are not controlled by PowerShell, from the current session. Wpisz następujące polecenie, aby wyczyścić wszystkie zmienne:Type the following command to clear all variables:

Remove-Variable -Name * -Force -ErrorAction SilentlyContinue

Po uruchomieniu poprzednie polecenie Get-Variable polecenie cmdlet pokazuje zmiennych systemowych programu PowerShell.After running the previous command, the Get-Variable cmdlet shows the PowerShell system variables.

Programu PowerShell tworzy dysk zmiennej.PowerShell also creates a variable drive. Skorzystaj z następującego przykładu, aby wyświetlić wszystkie zmienne programu PowerShell przy użyciu zmiennej dysku:Use the following example to display all PowerShell variables using the variable drive:

Get-ChildItem variable:

Używanie zmiennych cmd.exeUsing cmd.exe variables

Program PowerShell można użyć tego samego zmiennych środowiskowych dostępnych do dowolnego procesu Windows łącznie cmd.exe.PowerShell can use the same environment variables available to any Windows process, including cmd.exe. Te zmienne są udostępniane za pośrednictwem dysku o nazwie env:.These variables are exposed through a drive named env:. Te zmienne można wyświetlić, wpisując następujące polecenie:You can view these variables by typing the following command:

Get-ChildItem env:

Standardowa *-Variable poleceń cmdlet nie są zaprojektowane do pracy ze zmiennymi środowiskowymi.The standard *-Variable cmdlets aren't designed to work with environment variables. Zmienne środowiskowe są dostępne przy użyciu env: prefiksu dysku.Environment variables are accessed using the env: drive prefix. Na przykład % SystemRoot % zmienną cmd.exe zawiera nazwę katalogu głównego systemu operacyjnego.For example, the %SystemRoot% variable in cmd.exe contains the operating system's root directory name. W programie PowerShell użyj $env:SystemRoot dostępu do tej samej wartości.In PowerShell, you use $env:SystemRoot to access the same value.

PS> $env:SystemRoot
C:\WINDOWS

Można również tworzyć i modyfikować zmiennych środowiskowych z programu PowerShell.You can also create and modify environment variables from within PowerShell. Zmienne środowiskowe w programie PowerShell, wykonaj te same zasady stosowania zmienne środowiskowe używane w innym miejscu w systemie operacyjnym.Environment variables in PowerShell follow the same rules for environment variables used elsewhere in the operating system. Poniższy przykład tworzy nową zmienną środowiskową:The following example creates a new environment variable:

$env:LIB_PATH='/usr/local/lib'

Chociaż nie jest wymagane, czy jest typowe dla nazwy zmiennych środowiskowych użyć wielkie litery.Though not required, is it common for environment variable names to use all uppercase letters.