Om språknyckelord
KORT BESKRIVNING
Beskriver nyckelorden i PowerShell-skriptspråket.
LÅNG BESKRIVNING
PowerShell har följande språknyckelord. Mer information finns i om ämnet för nyckelordet och den information som följer tabellen.
Språknyckelord
Börja
Anger en del av brödtexten i en funktion, tillsammans med nyckelorden DynamicParam
, Process
och End
. Instruktionslistan Begin
körs en gång innan några objekt tas emot från pipelinen.
Syntax:
function <name> {
DynamicParam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
Bryt ned
Gör att ett skript avslutar en loop.
Syntax:
while (<condition>) {
<statements>
...
break
...
<statements>
}
Fånga
Anger en instruktionslista som ska köras om ett fel inträffar i den medföljande try-instruktionslistan. En feltyp kräver hakparenteser. Det andra par med hakparenteser anger att feltypen är valfri.
Syntax:
try {<statement list>}
catch [[<error type>]] {<statement list>}
Klass
Anger en ny klass i PowerShell.
Syntax:
class <class-name> {
[[hidden] [static] <property-definition> ...]
[<class-name>([argument-list>]) {<constructor-statement-list>} ...]
[[hidden] [static] <method-definition> ...]
}
Fortsätt
Gör att ett skript slutar köra en loop och återgår till villkoret. Om villkoret uppfylls börjar skriptet loopen igen.
Syntax:
while (<condition>) {
<statements>
...
continue
...
<statements>
}
Data
I ett skript definierar ett avsnitt som isolerar data från skriptlogik. Kan även innehålla If
instruktioner och vissa begränsade kommandon.
Syntax:
data <variable> [-supportedCommand <cmdlet-name>] {<permitted content>}
Gör följande
Används med nyckelordet While
eller Until
som en loopkonstruktion. PowerShell kör instruktionslistan minst en gång, till skillnad från en loop som använder While
.
Syntax för While
:
do {<statement list>} while (<condition>)
Syntax för Until
:
do {<statement list>} until (<condition>)
DynamicParam
Anger en del av brödtexten i en funktion, tillsammans med nyckelorden Begin
, Process
och End
. Dynamiska parametrar läggs till vid körning.
Syntax:
function <name> {
DynamicParam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
Annat
Används med nyckelordet If
för att ange standarduttryckslistan.
Syntax:
if (<condition>) {<statement list>}
else {<statement list>}
Elseif
Används med nyckelorden If
och Else
för att ange ytterligare villkor. Nyckelordet Else
är valfritt.
Syntax:
if (<condition>) {<statement list>}
elseif (<condition>) {<statement list>}
else {<statement list>}
Slut
Anger en del av brödtexten i en funktion, tillsammans med nyckelorden DynamicParam
, Begin
och End
. Instruktionslistan End
körs en gång efter att alla objekt har tagits emot från pipelinen.
Syntax:
function <name> {
DynamicParam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
Enum
enum
används för att deklarera en uppräkning. en distinkt typ som består av en uppsättning namngivna etiketter som kallas uppräkningslistan.
Syntax:
enum <enum-name> {
<label> [= <int-value>]
...
}
Avsluta
Gör att PowerShell avslutar ett skript eller en PowerShell-instans.
Syntax:
exit
exit <exitcode>
När du använder pwsh
med filparametern ska själva filen (skriptet .ps1
) innehålla instruktioner för att hantera eventuella fel eller undantag som inträffar när skriptet körs. Du bör bara använda -instruktionen exit
för att ange skriptets status efter körning.
I Windows tillåts valfritt tal mellan [int]::MinValue
och [int]::MaxValue
.
På Unix tillåts endast positiva tal mellan [byte]::MinValue
och [byte]::MaxValue
. Ett negativt tal i intervallet -1
för genom -255
omvandlas automatiskt till ett positivt tal genom att lägga till 256. Omvandlas till exempel -2
till 254
.
I PowerShell anger -instruktionen exit
värdet för variabeln $LASTEXITCODE
. I Windows Command Shell (cmd.exe) anger exit-instruktionen värdet för %ERRORLEVEL%
miljövariabeln.
Alla argument som inte är numeriska eller utanför det plattformsspecifika intervallet översätts till värdet 0
.
I följande exempel anger användaren variabelvärdet för felnivå till 4 genom att lägga exit 4
till i skriptfilen test.ps1
.
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
När du kör pwsh.exe -File <path to a script>
och skriptfilen avslutas med ett exit
kommando anges slutkoden till det numeriska argumentet som används med exit
kommandot . Om skriptet inte har någon exit
instruktion är slutkoden alltid 0
när skriptet slutförs utan fel eller 1
när skriptet avslutas från ett ohanterat undantag.
Filtrera
Anger en funktion där instruktionslistan körs en gång för varje indataobjekt. Den har samma effekt som en funktion som bara innehåller ett processblock.
Syntax:
filter <name> {<statement list>}
Slutligen
Definierar en instruktionslista som körs efter -instruktioner som är associerade med Try and Catch. En Finally
instruktionslista körs även om du trycker på CTRL+C
för att lämna ett skript eller om du använder nyckelordet Avsluta i skriptet.
Syntax:
try {<statement list>}
catch [<error type>] {<statement list>}
finally {<statement list>}
För
Definierar en loop med hjälp av ett villkor.
Syntax:
for (<initialize>; <condition>; <iterate>) { <statement list> }
ForEach
Definierar en loop med hjälp av varje medlem i en samling.
Syntax:
ForEach (<item> in <collection>) { <statement list> }
Från
Reserverad för framtida användning.
Funktion
Skapar en namngiven instruktionslista med återanvändbar kod. Du kan namnge omfånget som en funktion tillhör. Och du kan ange en eller flera namngivna parametrar med hjälp av nyckelordet Param
. I listan över funktionsuttryck kan du inkludera DynamicParam
- , Begin
Process
- och End
-instruktionslistor.
Syntax:
function [<scope:>]<name> {
param ([type]<$pname1> [, [type]<$pname2>])
DynamicParam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
Du kan också definiera en eller flera parametrar utanför instruktionslistan efter funktionsnamnet.
Syntax:
function [<scope:>]<name> [([type]<$pname1>, [[type]<$pname2>])] {
DynamicParam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
Om
Definierar ett villkor.
Syntax:
if (<condition>) {<statement list>}
Dold
Döljer klassmedlemmar från standardresultatet för cmdleten Get-Member
och från IntelliSense- och tabbifyllningsresultat.
Syntax:
Hidden [data type] $member_name
I
Används i en ForEach
-instruktion för att skapa en loop som använder varje medlem i en samling.
Syntax:
ForEach (<item> in <collection>){<statement list>}
InlineScript
Kör arbetsflödeskommandon i en delad PowerShell-session. Det här nyckelordet är endast giltigt i ett PowerShell-arbetsflöde.
Syntax:
workflow <verb>-<noun>
{
InlineScript
{
<Command/Expression>
...
}
}
Nyckelordet InlineScript
anger en InlineScript
aktivitet som kör kommandon i en delad standardsession (icke-arbetsflöde). Du kan använda nyckelordet InlineScript
för att köra kommandon som annars inte är giltiga i ett arbetsflöde och för att köra kommandon som delar data. Som standard körs kommandona i ett InlineScript-skriptblock i en separat process.
Mer information finns i Köra PowerShell-kommandon i ett arbetsflöde.
Param
Definierar parametrarna i en funktion.
Syntax:
function [<scope:>]<name> {
param ([type]<$pname1>[, [[type]<$pname2>]])
<statement list>
}
Process
Anger en del av brödtexten i en funktion, tillsammans med nyckelorden DynamicParam
, Begin
och End
. När en Process
instruktionslista tar emot indata från pipelinen körs instruktionslistan Process
en gång för varje element från pipelinen. Om pipelinen inte innehåller några objekt körs inte instruktionslistan Process
. Om kommandot är det första kommandot i pipelinen körs instruktionslistan Process
en gång.
Syntax:
function <name> {
DynamicParam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
Returnera
Gör att PowerShell lämnar det aktuella omfånget, till exempel ett skript eller en funktion, och skriver det valfria uttrycket till utdata.
Syntax:
return [<expression>]
Statisk
Anger att egenskapen eller metoden som definierats är gemensam för alla instanser av klassen som definieras i.
Se Class
användningsexempel.
Switch
Om du vill kontrollera flera villkor använder du en Switch
-instruktion. -instruktionen Switch
motsvarar en serie If
-instruktioner, men den är enklare.
Instruktionen Switch
visar varje villkor och en valfri åtgärd. Om ett villkor hämtar utförs åtgärden.
Syntax 1:
switch [-regex|-wildcard|-exact][-casesensitive] ( <value> )
{
<string>|<number>|<variable>|{ <expression> } {<statement list>}
<string>|<number>|<variable>|{ <expression> } {<statement list>}
...
default {<statement list>}
}
Syntax 2:
switch [-regex|-wildcard|-exact][-casesensitive] -file <filename>
{
<string>|<number>|<variable>|{ <expression> } {<statement list>}
<string>|<number>|<variable>|{ <expression> } {<statement list>}
...
default {<statement list>}
}
Kasta
Genererar ett objekt som ett fel.
Syntax:
throw [<object>]
Fälla
Definierar en instruktionslista som ska köras om ett fel påträffas. En feltyp kräver hakparenteser. Det andra par med hakparenteser anger att feltypen är valfri.
Syntax:
trap [[<error type>]] {<statement list>}
Testa
Definierar en instruktionslista som ska kontrolleras efter fel medan -instruktionerna körs. Om ett fel inträffar fortsätter PowerShell att köras i en Catch
-instruktion Finally
. En feltyp kräver hakparenteser. Det andra par med hakparenteser anger att feltypen är valfri.
Syntax:
try {<statement list>}
catch [[<error type>]] {<statement list>}
finally {<statement list>}
Tills
Används i en Do
-instruktion som en loopkonstruktion där instruktionslistan körs minst en gång.
Syntax:
do {<statement list>} until (<condition>)
Använda
Tillåter att ange vilka namnområden som används i sessionen. Klasser och medlemmar kräver mindre inmatning för att nämna dem. Du kan också inkludera klasser från moduler.
Syntax nr 1:
using namespace <.Net-framework-namespace>
Syntax nr 2:
using module <module-name>
Medan
-instruktionen while
är en loopkonstruktion där villkoret testas innan -instruktionerna körs. Om villkoret är FALSE körs inte -uttrycken.
Instruktionssyntax:
while (<condition>) {
<statements>
}
När den används i en Do
-instruktion while
är den en del av en loopningskonstruktion där instruktionslistan körs minst en gång.
Gör loopsyntax:
do {<statement list>} while (<condition>)