Szukaj…


Wprowadzenie

PowerShell oferuje wiele użytecznych zmiennych „automatycznych” (wbudowanych). Niektóre zmienne automatyczne są wypełniane tylko w szczególnych okolicznościach, podczas gdy inne są dostępne na całym świecie.

$ PSScriptRoot

Get-ChildItem -Path $PSScriptRoot

W tym przykładzie pobierana jest lista elementów potomnych (katalogów i plików) z folderu, w którym znajduje się plik skryptu.

$PSScriptRoot automatyczna $PSScriptRoot ma $null jeśli jest używana spoza pliku kodu PowerShell. Jeśli jest używany w skrypcie PowerShell, automatycznie definiuje pełną ścieżkę systemu plików do katalogu zawierającego plik skryptu.

W Windows PowerShell 2.0 ta zmienna jest poprawna tylko w modułach skryptowych (.psm1). Począwszy od Windows PowerShell 3.0, obowiązuje we wszystkich skryptach.

$ Args

$Args

Zawiera tablicę niezadeklarowanych parametrów i / lub wartości parametrów, które są przekazywane do funkcji, skryptu lub bloku skryptu. Podczas tworzenia funkcji można zadeklarować parametry za pomocą słowa kluczowego param lub dodając listę parametrów oddzieloną przecinkami w nawiasach po nazwie funkcji.

W akcji zdarzenia zmienna $ Args zawiera obiekty reprezentujące argumenty zdarzenia przetwarzanego zdarzenia. Ta zmienna jest wypełniana tylko w bloku Action polecenia rejestracji zdarzenia. Wartość tej zmiennej można również znaleźć we właściwości SourceArgs obiektu PSEventArgs (System.Management.Automation.PSEventArgs) zwracanej przez Get-Event.

$ PSItem

Get-Process | ForEach-Object -Process { 
  $PSItem.Name
}

Taki sam jak $_ . Zawiera bieżący obiekt w obiekcie potoku. Tej zmiennej można użyć w poleceniach, które wykonują akcję na każdym obiekcie lub na wybranych obiektach w potoku.

$?

Get-Process -Name doesnotexist
Write-Host -Object "Was the last operation successful? $?"

Zawiera status wykonania ostatniej operacji. Zawiera PRAWDA, jeśli ostatnia operacja się powiodła, i FALSE, jeśli się nie powiodła.

błąd $

Get-Process -Name doesnotexist
Write-Host -Object ('The last error that occurred was: {0}' -f $error[0].Exception.Message)

Zawiera tablicę obiektów błędów reprezentujących najnowsze błędy. Najnowszym błędem jest pierwszy obiekt błędu w tablicy ($ Błąd [0]).

Aby zapobiec dodaniu błędu do tablicy $ Error, użyj wspólnego parametru ErrorAction z wartością Ignoruj. Aby uzyskać więcej informacji, zobacz about_CommonParameters ( http://go.microsoft.com/fwlink/?LinkID=113216) .



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow