ja-JP/about_Language_Keywords.help.txt

TOPIC
    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 でのみサポートされます。

    各キーワードの説明

    begin
        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> ...]
            }

    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 と共にループ構造として使用します。標準の while
        ループとは異なり、PowerShell は文リストを少なくとも 1 回は実行します。

            do {<statement list>} while (<condition>)
            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、process と並んで、関数本体の一部を指定します。
        end 文リストは、すべてのパイプラインオブジェクトを受け取った後に
        1 回だけ実行されます。

            function <name> {
               dynamicparam {<statement list>}
               begin {<statement list>}
               process {<statement list>}
               end {<statement list>}
            }

    enum
        列挙型を宣言します。列挙型は、列挙子リストと呼ばれる名前付きラベルから
        構成される個別の型です。

            enum <enum-name> {
                <label> [= <int-value>]
                ...
            }

    exit
        PowerShell にスクリプトまたはインスタンスを終了させます。

            exit
            exit <exitcode>

        pwsh を File パラメーターと共に使用する場合、スクリプトファイルには
        エラー処理を含める必要があります。exit 文は、実行後の状態を示すように
        します。

        プラットフォーム別のルール:
        - Windows: [int]::MinValue から [int]::MaxValue までの任意の数値
        - Unix: [byte]::MinValue から [byte]::MaxValue までの正の数値のみ。
          -1 から -255 までの負の数値は、256 を加えて正の数値に変換されます
          (例: -2 は 254 になります)。

        数値以外の引数、またはプラットフォーム固有の範囲外の値は 0 に変換
        されます。

        exit 文は $LASTEXITCODE 変数を設定します。スクリプトに exit 文がない
        場合、正常終了時の終了コードは 0、未処理の例外発生時は 1 になります。

        例:

            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

    filter
        文リストを各入力オブジェクトに対して 1 回ずつ実行する関数を指定します。
        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 文リストは各要素に対して
        1 回ずつ実行されます。オブジェクトが渡されない場合は実行されません。
        コマンドがパイプラインの先頭にある場合は 1 回実行されます。

            function <name> {
               dynamicparam {<statement list>}
               begin {<statement list>}
               process {<statement list>}
               end {<statement list>}
            }

    return
        PowerShell に現在のスコープ(スクリプトまたは関数)を抜けさせ、省略
        可能な式を出力に書き込みます。

            return [<expression>]

    static
        プロパティまたはメソッドがクラスのすべてのインスタンスに共通である
        ことを指定します。

    switch
        連続した if 文よりも簡単に複数の条件を確認します。各条件を省略可能な
        アクションと共に列挙し、条件が一致するとそのアクションが実行されます。

            switch [-Regex|-Wildcard|-Exact][-CaseSensitive] ( <value> )
            {
               <string>|<number>|<variable>|{ <expression> } {<statement list>}
               <string>|<number>|<variable>|{ <expression> } {<statement list>}
               ...
               default {<statement list>}
            }

        ファイルベースの構文:

            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 は catch または finally の文へ進みます。エラーの
        種類は角かっこで囲みます。2 つ目の角かっこは省略可能であることを
        示します。

            try {<statement list>}
            catch [[<error type>]] {<statement list>}
            finally {<statement list>}

    until
        do 文でループ構造として使用し、文リストを少なくとも 1 回は実行します。

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

    using
        セッションで使用する名前空間を指定し、型名、クラス、メンバーの入力量を
        減らします。モジュールのクラスを含めることもできます。

        名前空間の構文:

            using namespace <.NET-namespace>

        モジュールの構文:

            using module <module-name>

        アセンブリの構文:

            using assembly <.NET-assembly-path>

    while
        文の実行前に条件をテストするループ構造です。条件が false の場合、
        文は実行されません。

            while (<condition>) {
               <statements>
            }

        do 文で使用すると、while は文リストを少なくとも 1 回は実行する
        ループ構造を形成します。

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

関連項目
    about_Special_Characters
    about_Wildcards

----
原文: PowerShell-Docs (CC BY 4.0) の翻訳 / PSHelpJaJP