共用方式為


關於命令語法

簡短描述

描述 PowerShell 中使用的語法圖表。

詳細描述

Get-HelpGet-Command Cmdlet 會顯示語法圖表,以協助您正確建構命令。 本主題說明如何解譯語法圖表。

語法圖表

命令語法圖表中的每個段落都代表命令的有效形式。

若要建構命令,請遵循從左至右的語法圖表。 從選擇性參數中選取 ,並提供佔位元的值。

PowerShell 會針對語法圖表使用下列表示法。

<command-name> -<Required Parameter Name> <Required Parameter Value>
[-<Optional Parameter Name> <Optional Parameter Value>]
[-<Optional Switch Parameters>]
[-<Optional Parameter Name>] <Required Parameter Value>

以下是 New-Alias Cmdlet 的語法。

New-Alias [-Name] <string> [-Value] <string> [-Description <string>]
[-Force] [-Option {None | ReadOnly | Constant | Private | AllScope}]
[-PassThru] [-Scope <string>] [-Confirm] [-WhatIf] [<CommonParameters>]

語法的大小寫為可讀性,但 PowerShell 不區分大小寫。

語法圖表具有下列元素。

命令名稱

命令一律以命令名稱開頭,例如 New-Alias。 輸入命令名稱或其別名,例如的 Get-Command“gcm”。

參數

命令的參數是決定命令用途的選項。 某些參數會採用「值」,這是命令的用戶輸入。

例如, Get-Help 命令具有 Name 參數,可讓您指定顯示說明的主題名稱。 主題名稱是 Name 參數的值。

在 PowerShell 命令中,參數名稱一律以連字元開頭。 連字元會告訴 PowerShell 命令中的項目是參數名稱。

例如,若要使用的 New-AliasName 參數,請輸入下列命令:

-Name

參數可以是必要或選擇性的。 在語法圖表中,選擇性專案會以方括弧 [ ]括住。

如需參數的詳細資訊,請參閱 about_Parameters

參數值

參數值是參數接受的輸入。 因為 Windows PowerShell 是以 Microsoft .NET Framework 為基礎,所以參數值會以其 .NET 類型在語法圖表中表示。

例如,的 Get-Help Name 參數會採用 「String」 值,這是文字字串,例如單字或多個以引號括住的單字。

[-Name] <string>

參數值的 .NET 類型會以角括弧 < > 括住,表示它是值的佔位符,而不是您在命令中輸入的常值。

若要使用 參數,請將 .NET 類型佔位元取代為具有指定 .NET 型別的物件。

例如,若要使用 Name 參數,請輸入 “-Name”,後面接著字串,如下所示:

-Name MyAlias

沒有值的參數

某些參數不接受輸入,因此它們沒有參數值。 不含值的參數稱為「切換參數」,因為它們的運作方式就像開啟/關閉參數一樣。 您可以在) 中包含它們 (,或省略它們 (從命令) 。

若要使用 switch 參數,只要輸入參數名稱,前面會加上連字元。

例如,若要使用 Cmdlet 的 New-AliasWhatIf 參數,請輸入下列命令:

-WhatIf

參數集

命令的參數會列在參數集中。 參數集看起來像語法圖表的段落。

Cmdlet New-Alias 有一個參數集,但許多 Cmdlet 都有多個參數集。 有些 Cmdlet 參數對參數集而言是唯一的,有些則出現在多個參數集中。 每個參數集都代表有效命令的格式。 參數集只包含可在命令中一起使用的參數。 如果參數不能用在相同的命令中,它們會出現在不同的參數集中。

例如, Get-Random Cmdlet 具有下列參數集:

Get-Random [[-Maximum] <Object>] [-Minimum <Object>] [-SetSeed <int>]
[<CommonParameters>]

Get-Random [-InputObject] <Object[]> [-Count <int>] [-SetSeed <int>]
[<CommonParameters>]

傳回隨機數的第一個參數集具有 MinimumMaximum 參數。 第二個參數集會從一組對象傳回隨機選取的物件,包括 InputObjectCount 參數。 這兩個參數集都有 SetSeed 參數和一般參數。

這些參數集表示您可以在相同的命令中使用 InputObjectCount 參數,但不能在同一個命令中使用 MaximumCount 參數。

您可以使用該參數集中的參數,指出您想要使用的參數集。

不過,每個 Cmdlet 也有預設參數集。 當您未指定參數集唯一的參數時,會使用預設參數集。 例如,如果您使用Get-Random不含參數,Windows PowerShell 假設您使用的是 Number 參數集,並傳回隨機數。

在每個參數集中,參數會以位置順序顯示。 只有在您省略選擇性參數名稱時,命令中的參數順序才重要。 省略參數名稱時,PowerShell 會依位置和類型將值指派給參數。 如需參數位置的詳細資訊,請參閱 about_Parameters

語法圖表中的符號

語法圖表會列出命令名稱、命令參數和參數值。 它也會使用符號來示範如何建構有效的命令。

語法圖表使用下列符號:

  • 連字元 - 表示參數名稱。 在命令中,在參數名稱前面立即輸入連字元,不含插入空格,如語法圖表所示。

    例如,若要使用的 New-AliasName 參數,請輸入:

    -Name
    
  • 角括弧 <> 表示佔位元文字。 您不會在命令中輸入角括弧或佔位元文字。 相反地,您會將它取代為所描述的專案。

    角括弧可用來識別參數所接受值的 .NET 類型。 例如,若要使用 Cmdlet 的 New-AliasName 參數,請將 取代<string>為字元串,這是單字或以引號括住的一組單字。

  • [ ]方括弧表示選擇性專案。 參數及其值可以是選擇性的,或者必要參數的名稱可以是選擇性的。

    例如, 的 Description 參數 New-Alias 及其值會以括弧括住,因為它們都是選擇性的。

    [-Description <string>]
    

    方括弧也表示需要 Name 參數值 <string> ,但參數名稱 「Name」 是選擇性的。

    [-Name] <string>
    
  • 附加至 .NET 類型的右括弧和左括弧 [] 表示參數可以接受該類型的一或多個值。 以逗號分隔的清單方式輸入值。

    例如,Cmdlet 的 New-AliasName 參數只接受一個字串,但 Get-ProcessName 參數可以接受一或多個字串。

    New-Alias [-Name] <string>
    
    New-Alias -Name MyAlias
    
    Get-Process [-Name] <string[]>
    
    Get-Process -Name Explorer, Winlogon, Services
    
  • {}大括弧表示「列舉」,這是參數的有效值集合。

    大括弧中的值會以垂直線 |分隔。 這些橫條表示「獨佔 OR」選擇,這表示您只能從大括弧內所列的值集中選擇一個值。

    例如,Cmdlet 的 New-Alias 語法包含 Option 參數的下列值列舉:

    -Option {None | ReadOnly | Constant | Private | AllScope}
    

    大括弧和垂直橫條表示您可以選擇 Option 參數的任何一個列出的值,例如 “ReadOnly” 或 “AllScope”。

    -Option ReadOnly
    

選擇性專案

方括弧會 [] 括住選擇性專案。 例如,在 Cmdlet 語法描述中 New-AliasScope 參數是選擇性的。 這在語法中會以參數名稱和類型周圍的括弧表示:

[-Scope <string>]

下列兩個範例都是 Cmdlet 的正確用法 New-Alias

New-Alias -Name utd -Value Update-TypeData
New-Alias -Name utd -Value Update-TypeData -Scope Global

即使需要該參數的值,參數名稱也可以是選擇性的。 這在語法中會以參數名稱周圍的括弧表示,但不是參數類型,如 Cmdlet 中的 New-Alias 這個範例所示:

[-Name] <string> [-Value] <string>

下列命令會正確使用 New-Alias Cmdlet。 命令會產生相同的結果。

New-Alias -Name utd -Value Update-TypeData
New-Alias -Name utd Update-TypeData
New-Alias utd -Value Update-TypeData
New-Alias utd Update-TypeData

如果參數名稱未包含在語句中,Windows PowerShell 會嘗試使用自變數的位置,將值指派給參數。

下列範例未完成:

New-Alias utd

此 Cmdlet 需要 NameValue 參數的值。

在語法範例中,括號也用於命名和轉換成 .NET Framework 類型。 在此內容中,方括弧不表示元素是選擇性的。

另請參閱