about_Language_Keywords
簡単な説明
PowerShell スクリプト言語のキーワードについて説明します。
長い説明
PowerShell には、次の言語キーワードがあります。 詳細については、キーワード (keyword)の about トピックと、表に続く情報を参照してください。
Keyword | リファレンス |
---|---|
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
、、および キーワードと共に、関数の本体の 1 つの部分をdynamicparam
process
end
指定します。 ステートメント リストは begin
、パイプラインからオブジェクトを受信する前に 1 回実行されます。
構文:
function <name> {
dynamicparam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
break
スクリプトがループを終了します。
構文:
while (<condition>) {
<statements>
...
break
...
<statements>
}
catch
付随するステートメント・リストでエラーが発生した場合に実行するステートメント・リストを try
指定します。 エラーの種類には角かっこが必要です。 角かっこの 2 番目のペアは、エラーの種類が省略可能であることを示します。
構文:
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
キーワード (keyword)と共にwhile
ループ コンストラクトとして使用されます。 PowerShell は、 を使用 while
するループとは異なり、ステートメント リストを少なくとも 1 回実行します。
while
の構文:
do {<statement list>} while (<condition>)
until
の構文:
do {<statement list>} until (<condition>)
dynamicparam
、、および キーワードと共に、関数の本体の 1 つの部分をbegin
process
end
指定します。 動的パラメーターは実行時に追加されます。
構文:
function <name> {
dynamicparam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
else
既定のステートメント リストをif
指定するために、キーワード (keyword)と共に使用されます。
構文:
if (<condition>) {<statement list>}
else {<statement list>}
elseif
キーワードと else
キーワードを使用if
して、追加の条件を指定します。 else
キーワード (keyword)は省略可能です。
構文:
if (<condition>) {<statement list>}
elseif (<condition>) {<statement list>}
else {<statement list>}
end
、、および キーワードと共に、関数の本体の 1 つの部分をdynamicparam
begin
end
指定します。 ステートメント リストは end
、パイプラインからすべてのオブジェクトを受信した後、1 回実行されます。
構文:
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>
File パラメーターと共に を使用pwsh
する場合は、(スクリプト) ファイル自体に、.ps1
スクリプトの実行中に発生するエラーまたは例外を処理するための手順が含まれている必要があります。 ステートメントは、スクリプトの exit
実行後の状態を示す場合にのみ使用する必要があります。
Windows では、 と [int]::MaxValue
の間[int]::MinValue
の任意の数が許可されます。
Unix では、 と [byte]::MaxValue
の間[byte]::MinValue
の正の数値のみが許可されます。 から -255
の範囲内の負の-1
数は、256 を追加することで自動的に正の数値に変換されます。 たとえば、 -2
は に 254
変換されます。
PowerShell では、 ステートメントによって exit
変数の値が設定されます $LASTEXITCODE
。 Windows コマンド シェル (cmd.exe
) では、exit ステートメントによって環境変数の値が %ERRORLEVEL%
設定されます。
数値以外の引数またはプラットフォーム固有の範囲外の引数は、 の 0
値に変換されます。
次の例では、ユーザーは スクリプト ファイル test.ps1
に を追加exit 4
して、エラー レベルの変数値を 4 に設定します。
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
場合、終了コードは、スクリプトがエラーなしで完了したとき、または1
スクリプトが未処理の例外から終了したときに常0
に行われます。
filter
ステートメント リストが入力オブジェクトごとに 1 回実行される関数を指定します。 これは、ブロックのみを含む関数と同じ効果を process
持ちます。
構文:
filter <name> {<statement list>}
finally
と catch
に関連付けられているステートメントの後に実行されるステートメント リストをtry
定義します。 ステートメント リストはfinally
、CtrlCキー+を押してスクリプトを終了した場合や、スクリプトでキーワード (keyword)を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
再利用可能なコードの名前付きステートメント リストを作成します。 関数が属するスコープに名前を付けることができます。 キーワード (keyword)を使用して、1 つ以上の名前付きパラメーターをparam
指定することもできます。 関数ステートメントの一覧には、および ステートメント リストをend
含dynamicparam
begin
process
めることができます。
構文:
function [<scope:>]<name> {
param ([type]<$pname1> [, [type]<$pname2>])
dynamicparam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
また、関数名の後にステートメント リストの外部で 1 つ以上のパラメーターを定義することもできます。
構文:
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
コマンドレット、IntelliSense、タブ補完の結果の Get-Member
既定の結果からクラス メンバーを非表示にします。
構文:
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
パイプラインの要素ごとに 1 回実行されます。 パイプラインでオブジェクトが提供されない場合、ステートメント リスト process
は実行されません。 コマンドがパイプラインの最初のコマンドである場合、ステートメント リストは process
1 回実行されます。
構文:
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
エラーが発生した場合に実行するステートメント リストを定義します。 エラーの種類には角かっこが必要です。 2 番目の角かっこは、エラーの種類が省略可能であることを示します。
構文:
trap [[<error type>]] {<statement list>}
try
ステートメントの実行中にエラーをチェックするステートメント リストを定義します。 エラーが発生した場合、PowerShell は または finally
ステートメントでcatch
引き続き実行されます。 エラーの種類には角かっこが必要です。 2 番目の角かっこは、エラーの種類が省略可能であることを示します。
構文:
try {<statement list>}
catch [[<error type>]] {<statement list>}
finally {<statement list>}
until
ステートメント リストが do
少なくとも 1 回実行されるループ コンストラクトとしてステートメントで使用されます。
構文:
do {<statement list>} until (<condition>)
using
セッションで使用される名前空間を示すことができます。 クラスとメンバーをメンションするために必要な入力が少なくて済みます。 モジュールのクラスを含めることもできます。
構文 #1:
using namespace <.Net-framework-namespace>
構文 #2:
using module <module-name>
while
ステートメントは while
ループ構造であり、ステートメントが実行される前に条件がテストされます。 条件が false の場合、ステートメントは実行されません。
ステートメントの構文:
while (<condition>) {
<statements>
}
ステートメントで do
を使用する場合、 while
は、ステートメント リストが少なくとも 1 回実行されるループ コンストラクトの一部です。
do
ループ構文:
do {<statement list>} while (<condition>)