about_Language_Keywords
Krótki opis
Opisuje słowa kluczowe w języku skryptów programu PowerShell.
Długi opis
Program PowerShell ma następujące słowa kluczowe języka. Aby uzyskać więcej informacji, zobacz temat dotyczący słowa kluczowego i informacje, które są zgodne z tabelą.
Następujące słowa kluczowe są używane przez przepływy pracy programu PowerShell:
inlinescript
parallel
sequence
workflow
Przepływy pracy programu PowerShell są obsługiwane tylko w programie PowerShell 5.1. Aby uzyskać więcej informacji na temat przepływów pracy, zobacz Uruchamianie poleceń programu PowerShell w przepływie pracy.
begin
Określa jedną część treści funkcji wraz z słowami dynamicparam
kluczowymi , process
i end
. begin
Lista instrukcji jest uruchamiana raz przed odebraniem wszystkich obiektów z potoku.
Składnia:
function <name> {
dynamicparam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
break
Powoduje zamknięcie pętli przez skrypt.
Składnia:
while (<condition>) {
<statements>
...
break
...
<statements>
}
catch
Określa listę instrukcji do uruchomienia, jeśli na liście instrukcji try
towarzyszących wystąpi błąd. Typ błędu wymaga nawiasów kwadratowych. Druga para nawiasów wskazuje, że typ błędu jest opcjonalny.
Składnia:
try {<statement list>}
catch [[<error type>]] {<statement list>}
class
Określa nową klasę w programie PowerShell.
Składnia:
class <class-name> {
[[hidden] [static] <property-definition> ...]
[<class-name>([argument-list>]) {<constructor-statement-list>} ...]
[[hidden] [static] <method-definition> ...]
}
continue
Powoduje zatrzymanie działania pętli przez skrypt i powrót do warunku. Jeśli warunek zostanie spełniony, skrypt ponownie rozpocznie pętlę.
Składnia:
while (<condition>) {
<statements>
...
continue
...
<statements>
}
data
W skrycie definiuje sekcję, która izoluje dane od logiki skryptu. Może również zawierać if
instrukcje i niektóre ograniczone polecenia.
Składnia:
data <variable> [-supportedCommand <cmdlet-name>] {<permitted content>}
do
Używany z while
słowem kluczowym lub until
jako konstrukcją pętli. Program PowerShell uruchamia listę instrukcji co najmniej raz, w przeciwieństwie do pętli używającej metody while
.
Składnia dla :while
do {<statement list>} while (<condition>)
Składnia dla :until
do {<statement list>} until (<condition>)
dynamicparam
Określa jedną część treści funkcji wraz z słowami begin
kluczowymi , process
i end
. Parametry dynamiczne są dodawane w czasie wykonywania.
Składnia:
function <name> {
dynamicparam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
else
Służy do określania if
listy instrukcji domyślnej za pomocą słowa kluczowego.
Składnia:
if (<condition>) {<statement list>}
else {<statement list>}
elseif
Używane z słowami kluczowymi if
i else
do określania dodatkowych warunkowych. Słowo else
kluczowe jest opcjonalne.
Składnia:
if (<condition>) {<statement list>}
elseif (<condition>) {<statement list>}
else {<statement list>}
end
Określa jedną część treści funkcji wraz z słowami dynamicparam
kluczowymi , begin
i end
. Lista end
instrukcji jest uruchamiana raz po odebraniu wszystkich obiektów z potoku.
Składnia:
function <name> {
dynamicparam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
enum
enum
służy do deklarowania wyliczenia; odrębny typ składający się z zestawu nazwanych etykiet nazywanych listą modułów wyliczających.
Składnia:
enum <enum-name> {
<label> [= <int-value>]
...
}
exit
Powoduje zamknięcie skryptu lub wystąpienia programu PowerShell programu PowerShell.
Składnia:
exit
exit <exitcode>
W przypadku użycia z pwsh
parametrem .ps1
File sam plik (skrypt) powinien zawierać instrukcje dotyczące obsługi błędów lub wyjątków występujących podczas działania skryptu. Należy użyć tylko instrukcji exit
, aby wskazać stan po wykonaniu skryptu.
W systemie Windows dowolna liczba między [int]::MinValue
i [int]::MaxValue
jest dozwolona.
W systemie Unix dozwolone są tylko liczby dodatnie między [byte]::MinValue
i [byte]::MaxValue
. Liczba ujemna w zakresie od -1
-255
jest automatycznie tłumaczona na liczbę dodatnią przez dodanie wartości 256. Na przykład -2
jest przekształcana na 254
.
W programie PowerShell exit
instrukcja ustawia wartość zmiennej $LASTEXITCODE
. W powłoce poleceń systemu Windows (cmd.exe
) instrukcja exit ustawia wartość zmiennej środowiskowej %ERRORLEVEL%
.
Każdy argument, który nie jest liczbowy lub poza zakresem specyficznym dla platformy, jest tłumaczony na wartość .0
W poniższym przykładzie użytkownik ustawia wartość zmiennej na poziomie błędu na 4 , dodając exit 4
do pliku test.ps1
skryptu .
C:\scripts\test>type test.ps1
1
2
3
exit 4
C:\scripts\test>pwsh -file ./test.ps1
1
2
3
C:\scripts\test>echo %ERRORLEVEL%
4
Po uruchomieniu pwsh.exe -File <path to a script>
polecenia i zakończeniu exit
pliku skryptu kod zakończenia jest ustawiony na argument liczbowy używany w poleceniu exit
. Jeśli skrypt nie exit
ma instrukcji, kod zakończenia jest zawsze 0
po zakończeniu skryptu bez błędu lub 1
po zakończeniu skryptu z nieobsługiwanego wyjątku.
filter
Określa funkcję, w której lista instrukcji jest uruchamiana jednorazowo dla każdego obiektu wejściowego. Ma taki sam efekt jak funkcja, która zawiera tylko process
blok.
Składnia:
filter <name> {<statement list>}
finally
Definiuje listę instrukcji uruchamianą po instrukcjach skojarzonych z elementami try
i catch
. finally
Lista instrukcji jest uruchamiana nawet w przypadku naciśnięcia klawisza CTRL+C w celu opuszczenia skryptu lub użycia exit
słowa kluczowego w skrypie.
Składnia:
try {<statement list>}
catch [<error type>] {<statement list>}
finally {<statement list>}
for
Definiuje pętlę z warunkiem.
Składnia:
for (<initialize>; <condition>; <iterate>) { <statement list> }
foreach
Definiuje pętlę przy użyciu każdego elementu członkowskiego kolekcji.
Składnia:
foreach (<item> in <collection>) { <statement list> }
from
Zarezerwowane do użytku w przyszłości.
function
Tworzy nazwę instrukcji listy kodu wielokrotnego użytku. Zakres, do którego należy funkcja. Można również określić jeden lub więcej nazwanych parametrów przy użyciu słowa kluczowego param
. Na liście instrukcji funkcji można uwzględnić dynamicparam
listy , begin
, process
i end
instrukcji.
Składnia:
function [<scope:>]<name> {
param ([type]<$pname1> [, [type]<$pname2>])
dynamicparam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
Istnieje również możliwość zdefiniowania co najmniej jednego parametru poza listą instrukcji po nazwie funkcji.
Składnia:
function [<scope:>]<name> [([type]<$pname1>, [[type]<$pname2>])] {
dynamicparam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
if
Definiuje warunek.
Składnia:
if (<condition>) {<statement list>}
hidden
Ukrywa elementy członkowskie klasy przed domyślnymi wynikami Get-Member
polecenia cmdlet, funkcji IntelliSense i wyników uzupełniania tabulatorów.
Składnia:
hidden [data type] $member_name
in
Użyto foreach
w instrukcji , aby utworzyć pętlę, która używa każdego elementu członkowskiego kolekcji.
Składnia:
foreach (<item> in <collection>){<statement list>}
param
Definiuje parametry w funkcji.
Składnia:
function [<scope:>]<name> {
param ([type]<$pname1>[, [[type]<$pname2>]])
<statement list>
}
process
Określa część treści funkcji wraz z słowami dynamicparam
kluczowymi , i end
. begin
process
Gdy lista instrukcji odbiera dane wejściowe z potoku, process
lista instrukcji jest uruchamiana jeden raz dla każdego elementu z potoku. Jeśli potok nie zawiera żadnych obiektów, process
lista instrukcji nie zostanie uruchomiona. Jeśli polecenie jest pierwszym poleceniem w potoku, process
lista instrukcji jest uruchamiana jednorazowo.
Składnia:
function <name> {
dynamicparam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
return
Powoduje pozostawienie bieżącego zakresu, takiego jak skrypt lub funkcja, i zapisanie opcjonalnego wyrażenia w danych wyjściowych.
Składnia:
return [<expression>]
static
Określa zdefiniowaną właściwość lub metodę jest wspólne dla wszystkich wystąpień klasy, w której jest definiowana.
Zobacz class
przykłady użycia.
switch
Aby sprawdzić wiele warunków, użyj instrukcji switch
. Instrukcja switch
jest równoważna serii instrukcji if
, ale jest prostsza.
Instrukcja switch
zawiera listę każdego warunku i akcję opcjonalną. Jeśli warunek zostanie uzyskany, zostanie wykonana akcja.
Składnia 1:
switch [-regex|-wildcard|-exact][-casesensitive] ( <value> )
{
<string>|<number>|<variable>|{ <expression> } {<statement list>}
<string>|<number>|<variable>|{ <expression> } {<statement list>}
...
default {<statement list>}
}
Składnia 2:
switch [-regex|-wildcard|-exact][-casesensitive] -file <filename>
{
<string>|<number>|<variable>|{ <expression> } {<statement list>}
<string>|<number>|<variable>|{ <expression> } {<statement list>}
...
default {<statement list>}
}
throw
Zgłasza obiekt jako błąd.
Składnia:
throw [<object>]
trap
Definiuje listę instrukcji do uruchomienia, jeśli wystąpi błąd. Typ błędu wymaga nawiasów kwadratowych. Druga para nawiasów wskazuje, że typ błędu jest opcjonalny.
Składnia:
trap [[<error type>]] {<statement list>}
try
Definiuje listę instrukcji do sprawdzenia pod kątem błędów podczas uruchamiania instrukcji. Jeśli wystąpi błąd, program PowerShell będzie nadal działać w instrukcji catch
or finally
. Typ błędu wymaga nawiasów kwadratowych. Druga para nawiasów wskazuje, że typ błędu jest opcjonalny.
Składnia:
try {<statement list>}
catch [[<error type>]] {<statement list>}
finally {<statement list>}
until
Używana w do
instrukcji jako konstrukcja pętli, w której lista instrukcji jest wykonywana co najmniej raz.
Składnia:
do {<statement list>} until (<condition>)
using
Umożliwia wskazanie, które przestrzenie nazw są używane w sesji. Klasy i elementy członkowskie wymagają mniejszego wpisywania, aby je wymienić. Można również uwzględnić klasy z modułów.
Składnia nr 1:
using namespace <.Net-framework-namespace>
Składnia nr 2:
using module <module-name>
while
Instrukcja while
jest konstrukcją pętli, w której warunek jest testowany przed wykonaniem instrukcji. Jeśli warunek ma wartość false, instrukcje nie są wykonywane.
Składnia instrukcji:
while (<condition>) {
<statements>
}
W przypadku do
użycia w instrukcji jest częścią konstrukcji pętli, while
w której lista instrukcji jest wykonywana co najmniej raz.
do
składnia pętli:
do {<statement list>} while (<condition>)