Windows PowerShell Get-Command Cmdlet 會擷取所有可用命令的名稱。在 Windows PowerShell 提示內輸入 Get-Command 後,您將看到類似以下的輸出內容:

PS> Get-Command
CommandType     Name                            Definition
-----------     ----                            ----------
Cmdlet          Add-Content                     Add-Content [-Path] <String[...
Cmdlet          Add-History                     Add-History [[-InputObject] ...
Cmdlet          Add-Member                      Add-Member [-MemberType] <PS...
... 

這份輸出看起來很像 Cmd.exe 的 Help 輸出:內部命令的表格摘要。在以上所摘錄的 Get-Command 命令輸出中,每個命令的 CommandType 都是 Cmdlet。Cmdlet 是 Windows PowerShell 內建命令類型,大致對應到 Cmd.exe 的 dircd 命令,以及 UNIX 殼層的內建程序如 BASH。

Get-Command 命令的輸出中,所有的定義都是以省略符號 (...) 結束,代表 PowerShell 無法在可用空間中顯示所有內容。當 Windows PowerShell 顯示輸出時,會先將輸出格式化為文字,然後進行排列以使資料整齊地放入視窗。稍後將會在格式器的相關章節內詳細說明。

Get-Command Cmdlet 提供 Syntax 參數,可讓您只擷取每個 Cmdlet 的語法。輸入 Get-Command -Syntax 命令就會顯示完整的輸出:

PS> Get-Command -Syntax
Add-Content [-Path] <String[]> [-Value] <Object[]> [-PassThru] [-Filter <String>] [-Include <String[]>] [-Exclude <String[]>] [-Force] [Credential <PSCredential>] [-Verbose] [-Debug] [-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-OutVariable <String>] [-OutBuffer <Int32>] [-WhatIf] [-Confirm] [-Encoding <FileSystemCmdletProviderEncoding>]

Add-History [[-InputObject] <PSObject[]>] [-Passthru] [-Verbose] [-Debug] [-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-OutVariable <String>][-OutBuffer <Int32>]...

顯示可用的命令類型

Get-Command 命令並未列出 Windows PowerShell 中每一個可用的命令。事實上,Get-Command 命令僅列出目前殼層中的 Cmdlet。Windows PowerShell 其實還支援其他幾種命令類型。別名、函數和指令碼也是 Windows PowerShell 命令,儘管《Windows PowerShell 使用手冊》並不打算詳加討論。外部可執行檔甚至已登錄的檔案類型處理常式亦歸類為命令。

輸入下列命令即可傳回所有可呼叫項目的清單:

PS> Get-Command *

由於這份清單中包含搜尋路徑上的外部檔案,列出的項目可能多達幾千個。更實際的做法是查看篩選過的命令集。若要找出其他類型的原生命令,請使用 Get-Command Cmdlet 的 CommandType 參數。雖然本文件至今尚未談到這些其他的命令類型,只要您知道特定命令類別的 CommandType 名稱就可以顯示該類型的命令。

附註:

事先附帶一提,星號 (*) 是供 Windows PowerShell 命令引數用於進行萬用字元比對。* 表示「比對一或多個任意字元」。輸入 Get-Command a* 即可找出以字母 "a" 開頭的所有命令。不同於 Cmd.exe 的萬用字元比對,Windows PowerShell 的萬用字元也會比對句號。

若要顯示特殊命令類別別名 (用於替代標準名稱的暱稱),請輸入下列命令:

PS> Get-Command -CommandType Alias

若要顯示所有的 Windows PowerShell 函數,請輸入下列命令:

PS> Get-Command -CommandType Function

若要顯示 Windows PowerShell 搜尋路徑上的外部指令碼,請輸入下列命令:

PS> Get-Command -CommandType ExternalScript




目錄