about_Language_Keywords
Краткое описание
Описывает ключевые слова на языке сценариев PowerShell.
Подробное описание
PowerShell содержит следующие ключевые слова языка. Дополнительные сведения см. в разделе about для ключевое слово и в следующей таблице.
В рабочих процессах 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
с параметром .ps1
File сам файл (скрипт) должен содержать инструкции по обработке ошибок или исключений, возникающих во время выполнения скрипта. Оператор следует использовать только для 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>)