Dela via


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.

Sökord Referens
Börja about_Functions, about_Functions_Advanced
Bryt ned about_Break, about_Trap
Fånga about_Try_Catch_Finally
Klass about_Classes
Fortsätt about_Continue, about_Trap
Data about_Data_Sections
Definiera Reserverad för framtida användning
Gör följande about_Do, about_While
DynamicParam about_Functions_Advanced_Parameters
Annat about_If
Elseif about_If
Slut about_Functions, about_Functions_Advanced_Methods
Enum about_Enum
Avsluta Beskrivs i det här avsnittet
Filtrera about_Functions
Slutligen about_Try_Catch_Finally
För about_For
ForEach about_ForEach
Från Reserverad för framtida användning
Funktion about_Functions, about_Functions_Advanced
Dold about_Hidden
Om about_If
I about_ForEach
Param about_Functions
Process about_Functions, about_Functions_Advanced
Returnera about_Return
Statisk about_Classes
Switch about_Switch
Kasta about_Throw, about_Functions_Advanced_Methods
Fälla about_Trap, about_Break, about_Try_Catch_Finally
Testa about_Try_Catch_Finally
Tills about_Do
Använda about_Using, about_Classes
Var Reserverad för framtida användning
Medan about_While, about_Do

Språknyckelord

Börja

Anger en del av brödtexten i en funktion, tillsammans med nyckelorden DynamicParam, Processoch 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, Processoch 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, Beginoch 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- , BeginProcess- 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, Beginoch 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>)

SE ÄVEN