about_Language_Keywords

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

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

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

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

Ключевое слово Справочные материалы
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

Задает одну часть текста функции, dynamicparamprocessend а также ключевое слово. Список 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

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

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

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

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

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

dynamicparam

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

Синтаксис

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

Задает одну часть текста функции, dynamicparambeginend а также ключевое слово. Список 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 с параметром .ps1 file сам файл (скрипт) должен содержать инструкции по обработке любых ошибок или исключений, возникающих во время выполнения скрипта. Оператор следует использовать exit только для указания состояния после выполнения скрипта.

В Windows любое число между [int]::MinValue и [int]::MaxValue разрешено.

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

В PowerShell exit инструкция задает значение переменной $LASTEXITCODE . В командной оболочке Windows (cmd.exe) оператор выхода задает значение переменной %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 ключевое слово. В списке инструкций функции можно включить dynamicparambeginprocessend и списки инструкций.

Синтаксис

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

Задает часть текста функции, dynamicparambeginend а также ключевое слово. 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 продолжает работать в инструкции или finally инструкцииcatch. Для типа ошибки требуются скобки. Вторая пара квадратных скобок указывает, что тип ошибки является необязательным.

Синтаксис

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

См. также