共用方式為


about_Operators

主題
    about_Operators

簡短描述
    說明 Windows PowerShell 支援的運算子。

完整描述
    運算子是一種語言項目,可用於命令或運算式中。Windows PowerShell 支援數種運算
    子類型,可協助您操控值。


  算術運算子
      算術運算子 (+、-、*、/、%) 用於計算命令或運算式中的值。您可以使用這些運算子,
      將值相加、相減、相乘或相除,以及計算除法運算的餘數 (模數)。


      此外,您也可以將算術運算子與字串、陣列及雜湊表搭配使用。加法運算子會串連項目。
      乘法運算子則會傳回每個項目的指定份數。


      如需詳細資訊,請參閱 about_Arithmetic_Operators。


  指定運算子
      指定運算子 (=、+=、-=、*=、/=、%=) 用於指派一個或多個值給變數、變更變數中的
      值,以及將值附加給變數。此外,您也可以將變數轉換成任何 Microsoft .NET 
      Framework 資料型別,例如字串、DateTime 或 Process 變數。


      如需詳細資訊,請參閱about_Assignment_Operators。


  比較運算子
      比較運算子 (-eq、-ne、-gt、-lt、-le、-ge) 用於比較數值和測試條件。例如,
      您可以比較兩個字串值,判斷兩者是否相等。


      比較運算子包括使用規則運算式尋找模式的比對運算子 (-match、-notmatch)、使用
      規則運算式變更輸入值的取代運算子 (-replace),以及使用萬用字元 (*) 尋找模式
      的相似運算子 (-like、-notlike)。


      此外也包括可操控數值中位元模式的位元運算子 (-bAND、-bOR、-bXOR、-bNOT)。


    如需詳細資訊,請參閱about_Comparison_Operators。


  邏輯運算子
      邏輯運算子 (-and、-or、-xor、-not、!) 用於將數個條件陳述式連接成單一複雜條
      件式。例如,您可以使用邏輯 -and 運算子來建立具有兩個不同條件的物件篩選器。


      如需詳細資訊,請參閱about_Logical_Operators。


  重新導向運算子
      重新導向運算子 (>、>>、2>、2> 和 2>&1) 用於將命令或運算式的輸出傳送至文字檔
      案。重新導向運算子的功能類似 Out-File Cmdlet (不含參數),不僅如此,還能將
      錯誤輸出重新導向至指定的檔案。此外,您也可以使用 Tee-Object Cmdlet 來重新導
      向輸出。


      如需詳細資訊,請參閱about_Redirection。


  分割和聯結運算子
      -split 和 -join 運算子會分割及合併子字串。-split 運算子會將字串分割為子字
       串, 而 -join 運算子會將多個字串串連成單一字串。


      如需詳細資訊,請參閱about_Split 和about_Join。


  型別運算子
      型別運算子 (-is、-isnot、-as) 用於尋找或變更物件的 .NET Framework 型別。

      如需詳細資訊,請參閱 about_Type_Operators。


  一元運算子
      一元運算子用於遞增或遞減變數或物件屬性,以及將整數設為正數或負數。例如,若要
      將變數 $a 從 9 遞增為 10,則可輸入 $a++。


  特殊運算子
      特殊運算子用於執行其他類型的運算子無法執行的工作。例如,特殊運算子可用於執行
      命令以及變更數值的資料型別。

    
      & 呼叫運算子
        描述:執行命令、指令碼或指令碼區塊。因為呼叫運算子不會進行剖析,所以無法解
        譯命令參數。呼叫運算子也稱為「引動運算子」,代表它後面的值是命令。這可讓您
        執行儲存在變數中的命令或以字串表示的命令。範例:


            & "new cmdlet"
            $c = "get-executionpolicy"  
            & $c


      . 屬性取值運算子
        描述:存取物件的屬性和方法。範例:


            $myString.length
            $myString.substring(1,3)


      . 以句號表示起點運算子
        描述:執行指令碼,讓指令碼中的項目成為呼叫範圍的一部分。如需詳細資訊,請參
        閱 about_Scope。範例:


            . c:\scripts.sample.ps1


        注意:點 (.) 符號也可當做上層目錄符號使用,如下列範例所示:

                .\sample.ps1

              這個命令會執行 sample.ps1 指令碼,但不會當做呼叫範圍的一部分。


      :: 靜態成員運算子
        描述:呼叫 .NET Framework 類別的靜態屬性運算子和方法。若要尋找物件的靜態
        屬性和方法,請使用 Get-Member Cmdlet 的 Static 參數。範例:


            [datetime]::now
 

      .. 範圍運算子
        描述:代表特定上下界限之整數陣列中的連續整數。範例:


            1..10
            10..1
            foreach ($a in 1..$max) {write-host $a}


      -f 格式運算子
        描述:使用字串物件的格式化方法即可格式化字串。在運算子左邊輸入格式字串,運
        算子右邊輸入要進行格式化的物件。
        範例:


            C:\PS> "{0} {1,-10} {2:N}" -f 
            C:\PS> 1,"hello",[math]::pi
            1 hello 3.14


      $( ) 子運算式運算子
        描述:傳回一個或多個陳述式的結果。若是單一結果,則傳回純量。若是多個結果,
        則傳回陣列。範例:


            $($x * 23)
            $(Get-WMIObject win32_Directory)


      @( ) 陣列子運算式運算子
        描述:以陣列傳回一個或多個陳述式的結果。如果只有一個項目,陣列將只有一個成
        員。範例:


            @(Get-WMIObject win32_logicalDisk)
                       

      , 運算子
        描述:做為二元運算子,逗號會建立陣列。做為一元運算子,逗號會建立只有一個成
        員的陣列。請將逗號置於成員之前。範例:


            $myArray = 1,2,3 
            $SingleArray = ,1   

       
請參閱
    about_Arithmetic_Operators
    about_Assignment_Operators
    about_Comparison_Operators
    about_Logical_Operators
    about_Type_Operators
    about_Split
    about_Join
    about_Redirection