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
Задает одну часть текста функции, 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
Используется с ключевое слово until
в while
качестве конструкции циклов. 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
) оператор выхода задает значение переменной %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 продолжает работать в инструкции или 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>)
См. также
PowerShell
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по