about_Language_Keywords

Kort beskrivning

Beskriver nyckelorden i PowerShell-skriptspråket.

Lång beskrivning

PowerShell har följande språknyckelord. Mer information finns i avsnittet om nyckelordet och informationen som följer tabellen.

Nyckelord Referens
begin about_Functions, about_Functions_Advanced
break about_Break, about_Trap
catch about_Try_Catch_Finally
class about_Classes
continue about_Continue, about_Trap
data about_Data_Sections
define Reserverad för framtida användning
do about_Do, about_While
dynamicparam about_Functions_Advanced_Parameters
else about_If
elseif about_If
end about_Functions, about_Functions_Advanced_Methods
enum about_Enum
exit Beskrivs i det här avsnittet
filter about_Functions
finally about_Try_Catch_Finally
for about_For
foreach about_ForEach
from Reserverad för framtida användning
function about_Functions, about_Functions_Advanced
hidden about_Hidden
if about_If
in about_ForEach
param about_Functions
process about_Functions, about_Functions_Advanced
return about_Return
static about_Classes
switch about_Switch
throw about_Throw, about_Functions_Advanced_Methods
trap about_Trap, about_Break, about_Try_Catch_Finally
try about_Try_Catch_Finally
until about_Do
using about_Using, about_Classes
var Reserverad för framtida användning
while about_While, about_Do

Följande nyckelord används av PowerShell-arbetsflöden:

  • inlinescript
  • parallel
  • sequence
  • workflow

PowerShell-arbetsflöden stöds endast i PowerShell 5.1. Mer information om arbetsflöden finns i Köra PowerShell-kommandon i ett arbetsflöde.

begin

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>}
}

break

Gör att ett skript avslutar en loop.

Syntax:

while (<condition>) {
   <statements>
   ...

   break
   ...

   <statements>
}

catch

Anger en instruktionslista som ska köras om ett fel inträffar i den medföljande instruktionslistan try . En feltyp kräver hakparenteser. Det andra par med hakparenteser anger att feltypen är valfri.

Syntax:

try {<statement list>}
catch [[<error type>]] {<statement list>}

class

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> ...]
}

continue

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>}

do

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>}
}

else

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>}

end

Anger en del av brödtexten i en funktion, tillsammans med nyckelorden dynamicparam, beginoch end . Instruktionslistan end körs en gång när 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>]
    ...
}

exit

Gör att PowerShell avslutar ett skript eller en PowerShell-instans.

Syntax:

exit
exit <exitcode>

När du använder pwsh med filparametern .ps1 ska själva filen (skriptet) 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 0för .

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.

filter

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 process block.

Syntax:

filter <name> {<statement list>}

finally

Definierar en instruktionslista som körs efter -instruktioner som är associerade med try och 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 exit i skriptet.

Syntax:

try {<statement list>}
catch [<error type>] {<statement list>}
finally {<statement list>}

for

Definierar en loop med ett villkor.

Syntax:

for (<initialize>; <condition>; <iterate>) { <statement list> }

foreach

Definierar en loop med varje medlem i en samling.

Syntax:

foreach (<item> in <collection>) { <statement list> }

from

Reserverad för framtida användning.

function

Skapar en namngiven instruktionslista med återanvändbar kod. Du kan namnge omfånget som en funktion tillhör. Du kan också ange en eller flera namngivna parametrar med hjälp av nyckelordet param . I listan över funktionsuttryck kan du inkludera dynamicparam, begin, processoch 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>}
}

if

Definierar en villkorsstyrd.

Syntax:

if (<condition>) {<statement list>}

hidden

Döljer klassmedlemmar från standardresultatet för cmdleten Get-Member , IntelliSense och flikslutresultatet.

Syntax:

hidden [data type] $member_name

in

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>}

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>}
}

return

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>]

static

Anger att den definierade egenskapen eller metoden är gemensam för alla instanser av klassen där den definieras.

Se class för användningsexempel.

switch

Om du vill kontrollera flera villkor använder du en switch instruktion. -instruktionen switch motsvarar en serie if instruktioner, men det är enklare.

Instruktionen switch visar varje villkor och en valfri åtgärd. Om ett villkor erhålls 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>}
}

throw

Utlöser ett objekt som ett fel.

Syntax:

throw [<object>]

trap

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>}

try

Definierar en instruktionslista som ska kontrolleras efter fel medan -uttrycken körs. Om ett fel inträffar fortsätter PowerShell att köras i en catch - eller finally -instruktion. 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>}

until

Används i en do instruktion som en loopkonstruktion där instruktionslistan körs minst en gång.

Syntax:

do {<statement list>} until (<condition>)

using

Gör att du kan ange vilka namnområden som används i sessionen. Typnamn, klasser och medlemmar kräver mindre inmatning för att referera till dem. Du kan också ta med klasser från moduler.

Namnområdessyntax:

using namespace <.Net-namespace>

Modulsyntax:

using module <module-name>

Sammansättningssyntax:

using assembly <.NET-assembly-path>

Mer information finns i about_Using.

while

-instruktionen while är en loopkonstruktion där villkoret testas innan -uttrycken körs. Om villkoret är falskt körs inte -uttrycken.

Instruktionssyntax:

while (<condition>) {
   <statements>
 }

När den används i en do -instruktion while är en del av en loopkonstruktion där instruktionslistan körs minst en gång.

do loopsyntax:

do {<statement list>} while (<condition>)

Se även