about_Language_Keywords
Krátký popis
Popisuje klíčová slova ve skriptovacím jazyce PowerShellu.
Dlouhý popis
PowerShell má následující klíčová slova jazyka. Další informace najdete v tématu věnovaném klíčovému slovu a informacím, které následuje za tabulkou.
Pracovní postupy PowerShellu používají následující klíčová slova:
inlinescript
parallel
sequence
workflow
Pracovní postupy PowerShellu se podporují jenom v PowerShellu 5.1. Další informace o pracovních postupech naleznete v tématu Spouštění příkazů PowerShellu v pracovním postupu.
begin
Určuje jednu část těla funkce spolu s dynamicparam
klíčovými slovy , process
a end
klíčová slova. Seznam begin
příkazů se spustí jednou před tím, než se z kanálu přijímají všechny objekty.
Syntaxe:
function <name> {
dynamicparam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
break
Způsobí, že skript ukončí smyčku.
Syntaxe:
while (<condition>) {
<statements>
...
break
...
<statements>
}
catch
Určuje seznam příkazů, který se má spustit, pokud dojde k chybě v doprovodném try
seznamu příkazů. Typ chyby vyžaduje hranaté závorky. Druhá dvojice závorek označuje, že typ chyby je volitelný.
Syntaxe:
try {<statement list>}
catch [[<error type>]] {<statement list>}
class
Určuje novou třídu v PowerShellu.
Syntaxe:
class <class-name> {
[[hidden] [static] <property-definition> ...]
[<class-name>([argument-list>]) {<constructor-statement-list>} ...]
[[hidden] [static] <method-definition> ...]
}
clean
Klíčové clean
slovo bylo přidáno v PowerShellu 7.3. Klíčové slovo definuje blok kódu, který je zaručeno spuštění za begin
process
a end
bloky funkce. end
Na rozdíl od bloku se blok clean
vždy spustí, i když dojde k ukončovací chybě v jednom z ostatních bloků.
continue
Způsobí, že skript přestane spouštět smyčku a vrátí se k podmínce. Pokud je podmínka splněna, skript znovu spustí smyčku.
Syntaxe:
while (<condition>) {
<statements>
...
continue
...
<statements>
}
data
Ve skriptu definuje oddíl, který izoluje data od logiky skriptu. Může také obsahovat if
příkazy a některé omezené příkazy.
Syntaxe:
data <variable> [-supportedCommand <cmdlet-name>] {<permitted content>}
do
Používá se s while
until
klíčovým slovem jako konstruktor smyčky. PowerShell spustí seznam příkazů alespoň jednou, na rozdíl od smyčky, která používá while
.
Syntaxe pro while
:
do {<statement list>} while (<condition>)
Syntaxe pro until
:
do {<statement list>} until (<condition>)
dynamicparam
Určuje jednu část těla funkce spolu s begin
klíčovými slovy , process
a end
klíčová slova. Dynamické parametry se přidávají za běhu.
Syntaxe:
function <name> {
dynamicparam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
else
Používá se s klíčovým slovem if
k určení výchozího seznamu příkazů.
Syntaxe:
if (<condition>) {<statement list>}
else {<statement list>}
elseif
Používá se s if
klíčovými slovy a else
slouží k určení dalších podmíněných podmínek. Klíčové else
slovo je volitelné.
Syntaxe:
if (<condition>) {<statement list>}
elseif (<condition>) {<statement list>}
else {<statement list>}
end
Určuje jednu část těla funkce spolu s dynamicparam
klíčovými slovy , begin
a end
klíčová slova. Seznam end
příkazů se spustí jednou po přijetí všech objektů z kanálu.
Syntaxe:
function <name> {
dynamicparam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
enum
enum
slouží k deklaraci výčtu; jedinečný typ, který se skládá ze sady pojmenovaných popisků označovaných jako seznam enumerátoru.
Syntaxe:
enum <enum-name> {
<label> [= <int-value>]
...
}
exit
Způsobí, že PowerShell ukončí skript nebo instanci PowerShellu.
Syntaxe:
exit
exit <exitcode>
Při použití pwsh
s parametrem .ps1
File by samotný soubor (skript) měl obsahovat pokyny pro zpracování chyb nebo výjimek, ke kterým dochází při spuštění skriptu. Příkaz byste měli použít exit
pouze k označení stavu po spuštění skriptu.
Ve Windows je povolené libovolné číslo mezi [int]::MinValue
a [int]::MaxValue
povoleným.
V unixu jsou povolena pouze kladná čísla.[byte]::MinValue
[byte]::MaxValue
Záporné číslo v rozsahu -1
přes -255
se automaticky převede na kladné číslo přidáním čísla 256. Například -2
se transformuje na 254
.
Příkaz v PowerShellu exit
nastaví hodnotu $LASTEXITCODE
proměnné. V prostředí Windows Command Shell (cmd.exe
) příkaz exit nastaví hodnotu %ERRORLEVEL%
proměnné prostředí.
Jakýkoli argument, který není číselný nebo mimo rozsah specifický pro platformu, se přeloží na hodnotu 0
.
V následujícím příkladu uživatel nastaví hodnotu 4
proměnné na úrovni chyby přidáním exit 4
do souboru test.ps1
skriptu .
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
Při spuštění pwsh.exe -File <path to a script>
a ukončení souboru skriptu pomocí exit
příkazu se ukončovací kód nastaví na číselný argument použitý s příkazem exit
. Pokud skript nemá žádný exit
příkaz, ukončovací kód je vždy 0
po dokončení skriptu bez chyby nebo 1
při ukončení skriptu z neošetřené výjimky.
filter
Určuje funkci, ve které se seznam příkazů spouští jednou pro každý vstupní objekt. Má stejný účinek jako funkce, která obsahuje pouze process
blok.
Syntaxe:
filter <name> {<statement list>}
finally
Definuje seznam příkazů, který se spouští po příkazech přidružených k příkazům try
a catch
. finally
Seznam příkazů se spustí i v případě, že stisknete ctrl+ C a necháte skript nebo použijete exit
klíčové slovo ve skriptu.
Syntaxe:
try {<statement list>}
catch [<error type>] {<statement list>}
finally {<statement list>}
for
Definuje smyčku s podmínkou.
Syntaxe:
for (<initialize>; <condition>; <iterate>) { <statement list> }
foreach
Definuje smyčku pomocí každého člena kolekce.
Syntaxe:
foreach (<item> in <collection>) { <statement list> }
from
Vyhrazeno pro budoucí použití.
function
Vytvoří pojmenovaný seznam příkazů opakovaně použitelného kódu. Obor můžete pojmenovat, do které funkce patří. Pomocí klíčového param
slova můžete také zadat jeden nebo více pojmenovaných parametrů. V seznamu příkazů funkce můžete zahrnout dynamicparam
seznamy příkazů , begin
, process
a end
příkazy.
Syntaxe:
function [<scope:>]<name> {
param ([type]<$pname1> [, [type]<$pname2>])
dynamicparam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
Máte také možnost definovat jeden nebo více parametrů mimo seznam příkazů za názvem funkce.
Syntaxe:
function [<scope:>]<name> [([type]<$pname1>, [[type]<$pname2>])] {
dynamicparam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
if
Definuje podmínku.
Syntaxe:
if (<condition>) {<statement list>}
hidden
Skryje členy třídy z výchozích Get-Member
výsledků rutiny, IntelliSense a výsledků dokončování tabulátoru.
Syntaxe:
hidden [data type] $member_name
in
Používá se v foreach
příkazu k vytvoření smyčky, která používá každý člen kolekce.
Syntaxe:
foreach (<item> in <collection>){<statement list>}
param
Definuje parametry ve funkci.
Syntaxe:
function [<scope:>]<name> {
param ([type]<$pname1>[, [[type]<$pname2>]])
<statement list>
}
process
Určuje část těla funkce spolu s dynamicparam
klíčovými slovy , begin
a end
klíčová slova. process
Když seznam příkazů přijme vstup z kanálu, spustí se process
seznam příkazů jednou pro každý prvek z kanálu. Pokud kanál neposkytuje žádné objekty, process
seznam příkazů se nespustí. Pokud je příkazem první příkaz v kanálu, spustí se process
seznam příkazů jednou.
Syntaxe:
function <name> {
dynamicparam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
return
Způsobí, že PowerShell ponechá aktuální obor, například skript nebo funkci, a zapíše volitelný výraz do výstupu.
Syntaxe:
return [<expression>]
static
Určuje vlastnost nebo metodu definovanou je společná pro všechny instance třídy, ve které je definována.
Podívejte se class
na příklady použití.
switch
Pokud chcete zkontrolovat více podmínek, použijte switch
příkaz. Příkaz switch
je ekvivalentní řadě if
příkazů, ale je jednodušší.
Příkaz switch
uvádí každou podmínku a volitelnou akci. Pokud podmínka získá, provede se akce.
Syntaxe 1:
switch [-regex|-wildcard|-exact][-casesensitive] ( <value> )
{
<string>|<number>|<variable>|{ <expression> } {<statement list>}
<string>|<number>|<variable>|{ <expression> } {<statement list>}
...
default {<statement list>}
}
Syntaxe 2:
switch [-regex|-wildcard|-exact][-casesensitive] -file <filename>
{
<string>|<number>|<variable>|{ <expression> } {<statement list>}
<string>|<number>|<variable>|{ <expression> } {<statement list>}
...
default {<statement list>}
}
throw
Vyvolá objekt jako chybu.
Syntaxe:
throw [<object>]
trap
Definuje seznam příkazů, který se má spustit, pokud dojde k chybě. Typ chyby vyžaduje hranaté závorky. Druhá dvojice závorek označuje, že typ chyby je volitelný.
Syntaxe:
trap [[<error type>]] {<statement list>}
try
Definuje seznam příkazů, u kterých se mají kontrolovat chyby při spuštění příkazů. Pokud dojde k chybě, PowerShell pokračuje ve spuštění v catch
příkazu nebo v příkazu finally
. Typ chyby vyžaduje hranaté závorky. Druhá dvojice závorek označuje, že typ chyby je volitelný.
Syntaxe:
try {<statement list>}
catch [[<error type>]] {<statement list>}
finally {<statement list>}
until
Používá se do
v příkazu jako konstruktor smyčky, kde je seznam příkazů spuštěn alespoň jednou.
Syntaxe:
do {<statement list>} until (<condition>)
using
Umožňuje určit, které obory názvů se v relaci používají. Názvy, třídy a členy typu vyžadují, aby se na ně odkazovaly méně. Můžete také zahrnout třídy z modulů.
Syntaxe oboru názvů:
using namespace <.Net-namespace>
Syntaxe modulu:
using module <module-name>
Syntaxe sestavení:
using assembly <.NET-assembly-path>
Další informace najdete v tématu about_Using.
while
Příkaz while
je konstruktor smyčky, ve kterém je podmínka testována před provedením příkazů. Pokud je podmínka nepravda, příkazy se nespustí.
Syntaxe příkazu:
while (<condition>) {
<statements>
}
Při použití v do
příkazu je součástí konstruktingu smyčky, while
kde je seznam příkazů spuštěn alespoň jednou.
do
Syntaxe smyčky:
do {<statement list>} while (<condition>)