about_Language_Keywords

Краткое описание

Описывает ключевые слова на языке сценариев PowerShell.

Подробное описание

PowerShell содержит следующие ключевые слова языка. Дополнительные сведения см. в разделе about для ключевое слово и в следующей таблице.

Ключевое слово Ссылка
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 Зарезервировано для использования в будущем.
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 Описано в этом разделе
filter about_Functions
finally about_Try_Catch_Finally
for about_For
foreach about_ForEach
from Зарезервировано для использования в будущем.
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 Зарезервировано для использования в будущем.
while about_While, about_Do

В рабочих процессах PowerShell используются следующие ключевые слова:

  • inlinescript
  • parallel
  • sequence
  • workflow

Рабочие процессы PowerShell поддерживаются только в PowerShell 5.1. Дополнительные сведения о рабочих процессах см. в статье Выполнение команд PowerShell в рабочем процессе.

begin

Задает одну часть тела функции вместе с ключевыми словами dynamicparam, processи end . Список инструкций begin выполняется один раз, прежде чем какие-либо объекты будут получены из конвейера.

Синтаксис:

function <name> {
    dynamicparam {<statement list>}
    begin {<statement list>}
    process {<statement list>}
    end {<statement list>}
}

break

Приводит к выходу скрипта из цикла.

Синтаксис:

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

   break
   ...

   <statements>
}

catch

Указывает список инструкций для запуска при возникновении ошибки в сопроводительном списке инструкций try . Для типа ошибки требуются квадратные скобки. Вторая пара скобок указывает, что тип ошибки необязателен.

Синтаксис:

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

class

Указывает новый класс в PowerShell.

Синтаксис:

class <class-name> {
    [[hidden] [static] <property-definition> ...]
    [<class-name>([argument-list>]) {<constructor-statement-list>} ...]
    [[hidden] [static] <method-definition> ...]
}

continue

Приводит к прекращению выполнения цикла скрипта и возврату к условию. Если условие выполнено, скрипт снова начинает цикл.

Синтаксис:

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

   continue
   ...

   <statements>
}

data

В скрипте определяет раздел, который изолирует данные от логики скрипта. Также может включать if инструкции и некоторые ограниченные команды.

Синтаксис:

data <variable> [-supportedCommand <cmdlet-name>] {<permitted content>}

do

Используется с while или until ключевое слово в качестве конструкции цикла. PowerShell выполняет список инструкций по крайней мере один раз, в отличие от цикла, использующего while.

Синтаксис для while:

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

Синтаксис для until:

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

dynamicparam

Задает одну часть тела функции вместе с ключевыми словами begin, processи end . Динамические параметры добавляются во время выполнения.

Синтаксис:

function <name> {
   dynamicparam {<statement list>}
   begin {<statement list>}
   process {<statement list>}
   end {<statement list>}
}

else

Используется с if ключевое слово для указания списка инструкций по умолчанию.

Синтаксис:

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

elseif

Используется с ключевыми словами if и else для указания дополнительных условных условий. Ключевое слово else является необязательным.

Синтаксис:

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

end

Задает одну часть тела функции вместе с ключевыми словами dynamicparam, beginи end . Список инструкций end выполняется один раз после получения всех объектов из конвейера.

Синтаксис:

function <name> {
   dynamicparam {<statement list>}
   begin {<statement list>}
   process {<statement list>}
   end {<statement list>}
}

enum

enum используется для объявления перечисления; отдельный тип, состоящий из набора именованных меток, называемых списком перечислителя.

Синтаксис:

enum <enum-name> {
    <label> [= <int-value>]
    ...
}

exit

Заставляет PowerShell выйти из скрипта или экземпляра PowerShell.

Синтаксис:

exit
exit <exitcode>

При использовании pwsh с параметром .ps1File сам файл (скрипт) должен содержать инструкции по обработке ошибок или исключений, возникающих во время выполнения скрипта. Оператор следует использовать только для exit указания состояния после выполнения скрипта.

В Windows допускается любое число между [int]::MinValue и [int]::MaxValue .

В Unix допускаются только положительные числа между [byte]::MinValue и [byte]::MaxValue . Отрицательное число в диапазоне -1 до -255 автоматически преобразуется в положительное число путем сложения 256. Например, -2 преобразуется в 254.

В PowerShell exit инструкция задает значение переменной $LASTEXITCODE . В командной оболочке Windows (cmd.exe) оператор exit задает значение переменной %ERRORLEVEL% среды.

Любой аргумент, который не является числовым или выходит за пределы диапазона платформы, преобразуется в значение 0.

В следующем примере пользователь устанавливает значение переменной уровня ошибки равным 4 , добавляя exit 4 в файл 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

Когда вы запускаете pwsh.exe -File <path to a script> и файл скрипта завершается командой exit , в коде выхода устанавливается числовой аргумент, используемый с командой exit . Если в скрипте нет exit инструкции, код выхода всегда 0 выполняется, когда скрипт завершается без ошибок или 1 когда скрипт завершается из необработанного исключения.

filter

Задает функцию, в которой список инструкций выполняется один раз для каждого входного объекта. Он имеет тот же эффект, что и функция, содержащая только process блок.

Синтаксис:

filter <name> {<statement list>}

finally

Определяет список инструкций, который выполняется после операторов, связанных с try и catch. Список finally инструкций выполняется, даже если вы нажимаете клавиши CTRL+C, чтобы покинуть скрипт, или если в скрипте используется exit ключевое слово.

Синтаксис:

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

for

Определяет цикл с условием.

Синтаксис:

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

foreach

Определяет цикл с использованием каждого члена коллекции.

Синтаксис:

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

from

Зарезервировано для последующего использования.

function

Создает именованный список инструкций для многократного использования кода. Можно присвоить имя область принадлежит функция. Можно также указать один или несколько именованных параметров с помощью param ключевое слово. В список инструкций функции можно включить dynamicparamсписки операторов , begin, processи end .

Синтаксис:

function [<scope:>]<name> {
   param ([type]<$pname1> [, [type]<$pname2>])
   dynamicparam {<statement list>}
   begin {<statement list>}
   process {<statement list>}
   end {<statement list>}
}

Вы также можете определить один или несколько параметров вне списка инструкций после имени функции.

Синтаксис:

function [<scope:>]<name> [([type]<$pname1>, [[type]<$pname2>])] {
   dynamicparam {<statement list>}
   begin {<statement list>}
   process {<statement list>}
   end {<statement list>}
}

if

Определяет условный объект .

Синтаксис:

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

hidden

Скрывает члены класса из результатов завершения по умолчанию командлета Get-Member , IntelliSense и табуляции.

Синтаксис:

hidden [data type] $member_name

in

Используется в инструкции foreach для создания цикла, использующего каждый член коллекции.

Синтаксис:

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

param

Определяет параметры в функции.

Синтаксис:

function [<scope:>]<name> {
   param ([type]<$pname1>[, [[type]<$pname2>]])
   <statement list>
}

process

Задает часть тела функции вместе с ключевыми словами dynamicparam, beginи end . Когда список инструкций process получает входные данные из конвейера, список инструкций process выполняется один раз для каждого элемента из конвейера. Если конвейер не предоставляет объектов, список инструкций process не выполняется. Если команда является первой в конвейере, список инструкций process выполняется один раз.

Синтаксис:

function <name> {
   dynamicparam {<statement list>}
   begin {<statement list>}
   process {<statement list>}
   end {<statement list>}
}

return

Заставляет PowerShell оставить текущий область, например скрипт или функцию, и записывает необязательное выражение в выходные данные.

Синтаксис:

return [<expression>]

static

Указывает, что свойство или метод является общим для всех экземпляров класса, в котором он определен.

См class . примеры использования.

switch

Чтобы проверка нескольких условий, используйте switch оператор . Оператор switch эквивалентен ряду операторов if , но он проще.

Инструкция switch перечисляет каждое условие и необязательное действие. Если условие получается, выполняется действие .

Синтаксис 1:

switch [-regex|-wildcard|-exact][-casesensitive] ( <value> )
{
   <string>|<number>|<variable>|{ <expression> } {<statement list>}
   <string>|<number>|<variable>|{ <expression> } {<statement list>}
   ...

   default {<statement list>}
}

Синтаксис 2:

switch [-regex|-wildcard|-exact][-casesensitive] -file <filename>
{
   <string>|<number>|<variable>|{ <expression> } {<statement list>}
   <string>|<number>|<variable>|{ <expression> } {<statement list>}
   ...

   default {<statement list>}
}

throw

Вызывает объект в виде ошибки.

Синтаксис:

throw [<object>]

trap

Определяет список инструкций, который будет выполняться при возникновении ошибки. Для типа ошибки требуются квадратные скобки. Вторая пара скобок указывает, что тип ошибки необязателен.

Синтаксис:

trap [[<error type>]] {<statement list>}

try

Определяет список инструкций для проверки на наличие ошибок при выполнении инструкций. Если возникает ошибка, PowerShell продолжает выполняться в инструкции catch или finally . Для типа ошибки требуются квадратные скобки. Вторая пара скобок указывает, что тип ошибки необязателен.

Синтаксис:

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

until

Используется в инструкции do в качестве конструкции цикла, в которой список инструкций выполняется по крайней мере один раз.

Синтаксис:

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

using

Позволяет указать, какие пространства имен используются в сеансе. Имена типов, классы и члены требуют меньше типизации, чтобы ссылаться на них. Вы также можете включить классы из модулей.

Синтаксис пространства имен:

using namespace <.Net-namespace>

Синтаксис модуля:

using module <module-name>

Синтаксис сборки:

using assembly <.NET-assembly-path>

Дополнительные сведения см. в разделе about_Using.

while

Оператор while представляет собой конструкцию цикла, в которой условие проверяется перед выполнением инструкций. Если условие равно false, инструкции не выполняются.

Синтаксис инструкции:

while (<condition>) {
   <statements>
 }

При использовании в операторе do является частью конструкции цикла, while в которой список инструкций выполняется по крайней мере один раз.

do Синтаксис цикла:

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

См. также раздел