about_Command_Syntax
適用於: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0
在此插入簡介。
主題
about_Command_Syntax
簡短描述
描述在 Windows PowerShell® 中使用的語法圖表。
詳細描述
Get-Help 和 Get-Command Cmdlet 會顯示語法圖表來協助您正確建構命令。本主題說明如何解譯語法圖表。
語法圖表
命令語法圖表中的每個段落代表此命令的有效形式。
若要建構命令,請從左到右遵循語法圖表。請由選擇性參數中選擇並提供預留位置的值。
Windows 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>]
為了便於閱讀,此語法已大寫,但 Windows PowerShell 並不區分大小寫。
此語法圖表具有下列項目。
命令名稱
------------
命令開頭一律具有命令名稱,例如 New-Alias。請輸入命令名稱或其別名,例如針對 Get-Command 請輸入 "gcm"。
參數
----------
命令的參數是決定命令所執行動作的選項。某些參數需要「值」,也就是此命令的使用者輸入。
例如,Get-Help 命令具有 Name 參數,可讓您指定顯示說明主題的名稱。主題名稱是 Name 參數的值。
在 Windows PowerShell 命令中,參數名稱一律以連字號開頭。連字號告訴 Windows PowerShell 此命令中的這個項目為參數名稱。
例如,若要使用 New-Alias 的 Name 參數,您可以輸入下列命令:
-Name
參數可以是強制性或選擇性。語法圖表中的選擇性項目會以括號 ([]) 括住。
如需參數的詳細資訊,請參閱 about_Parameters。
參數值
----------------
參數值是參數採用的輸入。因為 Windows PowerShell 的基礎是 Microsoft .NET Framework,所以參數值會依據其 .NET 類型在語法圖表中呈現。
例如,Get-Help 的 Name 參數可接受字串值,也就是文字字串,例如單一字詞或多個以引號括住的文字。
[-Name] <string>
參數值的 .NET 類型會以角括號 (< >) 括住,表示它是某個值的預留位置,而非您在命令中輸入的常值。
若要使用參數,請將 .NET 類型預留位置取代成具有指定 .NET 類型的物件。
例如,若要使用 Name 參數,請輸入 "-Name",後面接著字串,如下所示:
-Name MyAlias
沒有值的參數
-------------------------
某些參數不接受輸入,因此不需要參數值。不含值的參數稱為「切換參數」,因為它們的運作就像開/關切換一樣。您可將它們包含在命令內 (開),或省略它們 (關)。
若要使用切換參數,只要輸入參數名稱,前面加上連字號。
例如,若要使用 New-Alias Cmdlet 的 WhatIf 參數,請輸入下列命令:
-WhatIf
參數集
--------------
參數集會列出此命令參數。參數集看起來像是語法圖表的段落。
New-Alias Cmdlet 有一個參數集,但許多 Cmdlet 會有多個參數集。某些 Cmdlet 參數對參數集而言是唯一的,而其他參數則會出現在多個參數集。
每個參數集代表有效命令的格式。參數集只包含在命令中可一起使用的參數。如果參數不能用在同一個命令中,它們就會出現在不同的參數集。
例如,Get-Random Cmdlet 有下列的參數集:
Get-Random [[-Maximum] <Object>] [-Minimum <Object>] [-SetSeed <int>]
[<CommonParameters>]
Get-Random [-InputObject] <Object[]> [-Count <int>] [-SetSeed <int>]
[<CommonParameters>]
傳回隨機數字的第一個參數集具有 Minimum 和 Maximum 參數。第二個參數集,會從一組物件中隨機選取物件傳回,將包含 InputObject 和 Count 參數。這兩個參數集都有 Set-Seed 參數與一般參數。
這些參數集表示您可以在同一個命令中使用 InputObject 和 Count 參數,但您無法在同一個命令中使用 Maximum 和 Count 參數。
您可以指出您想要使用的參數集,方法是使用該參數集內的參數。
不過,每個 Cmdlet 也有預設參數集。當您未指定參數集特有的參數時,便會使用預設參數集。例如,如果您在沒有使用參數的情況使用 Get-Random,則 Windows PowerShell 將假設您正在使用 Number 參數集,並且會傳回一個隨機數字。
每個參數集內的參數會以位置的順序出現。只有當您省略選擇性參數名稱時,才會影響命令的參數順序。當省略參數名稱時,Windows PowerShell 會依位置和類型指派值給參數。如需參數位置的詳細資訊,請參閱 about_Parameters。
語法圖表中的符號
此語法圖表列出命令名稱、命令參數和參數值。它也會使用符號來示範如何建構有效的命令。
語法圖表會使用下列符號:
-- 連字號 (-) 表示參數名稱。在命令中,緊鄰著參數名稱前面且沒有中間空格,輸入連字號,如本語法圖表所示。
例如,若要使用 New-Alias 的 Name 參數,請輸入:
-Name
-- 角括號 (<>) 表示預留位置文字。您不用在命令中輸入角括號或預留位置文字,而是要以它所描述的項目取代。
角括號用來識別參數所接受的值是何種 .NET 類型。例如,若要使用 New-Alias Cmdlet 的 Name 參數,您可以用字串取代 <字串>,這可以是以引號括住的一個字或一組字。
-- 括號 ([ ]) 表示選擇性的項目。參數和它的值可以是選擇性的,或必要參數的名稱也可以是選擇性的。
例如,新增別名和其值的描述參數會以括號括住因為它們是兩者都是選擇性。
[-Description <string>]
括號也表示 Name 參數值 (<字串>) 是必要的,但參數名稱 "Name" 是選擇性的。
[-Name] <string>
-- 附加至 .NET 類型的左右括號 ([]) 表示參數可以接受該類型的一或多個值。以逗號分隔的清單方式輸入值。
例如,New-Alias Cmdlet 的 Name 參數只會採用一個字串,但 Get-Process 的 Name 參數可以採用一或多個字串。
New-Alias [-Name] <string>
New-Alias -Name MyAlias
Get-Process [-Name] <string[]>
Get-Process -Name Explorer, Winlogon, Services
-- 大括弧 ({}) 表示「列舉」,也就是參數的一組有效值。
大括弧中的值會以分隔號 ( | ) 分隔。這些分隔號表示「獨佔」或選擇,這表示您只可以從大括弧內所列的一組值選擇一個值。
例如,New-Alias Cmdlet 的語法包含以下 Option 參數的值列舉:
-Option {None | ReadOnly | Constant | Private | AllScope}
大括弧和分隔號表示您可以選擇其中所列的一個 Option 參數值,例如 ReadOnly 或 AllScope。
-Option ReadOnly
選擇性項目
括號 ([]) 括住選擇性項目。例如,在 New-Alias Cmdlet 語法描述中,Scope 參數是選擇性的。在此語法中,參數名稱和類型周圍的括號代表其為選擇性。
[-Scope <string>]
下列兩則範例皆為 New-Alias Cmdlet 的正確用法:
New-Alias -Name utd -Value Update-TypeData
New-Alias -Name utd -Value Update-TypeData -Scope global
即使該參數的值是必要的,但參數名稱仍可以是選擇性。在此語法中,參數名稱周圍的括號代表其為選擇性,但參數類型並不是,就像在 New-Alias Cmdlet 範例一樣。
[-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 需要 Name 和 Value 參數的值。
在語法範例中,括號也用來命名,以及轉換成 .NET Framework 類型。在此情況下,括號並不表示該項目是選擇性。
關鍵字
about_Symbols
about_Punctuation
about_Help_Syntax
另請參閱
about_Parameters
Get-Command
Get-Help