about_Language_Keywords
Краткое описание
Описывает ключевые слова на языке скриптов PowerShell.
Подробное описание
PowerShell содержит следующие ключевые слова языка. Дополнительные сведения см. в разделе о ключевом слове и сведениях, следующих за таблицей.
Ключевое слово | Справочные материалы |
---|---|
begin |
about_Functions, about_Functions_Advanced |
break |
about_Break, about_Trap |
catch |
about_Try_Catch_Finally |
class |
about_Classes |
clean |
about_Functions, about_Functions_Advanced_Methods |
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> ...]
}
clean
Ключевое clean
слово было добавлено в PowerShell 7.3. Ключевое слово определяет блок кода, который гарантированно выполняется после begin
process
end
и блоков функции.
end
В отличие от блока, блок всегда выполняется, clean
даже если в одном из других блоков возникает завершающая ошибка.
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
с параметром сам файл (скрипт) должен содержать инструкции по обработке любых ошибок или исключений, возникающих во время выполнения скрипта. Оператор следует использовать 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
слова. В списке инструкций функции можно включить 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>)
См. также
PowerShell