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 的帮助输出十分相似:表格格式的内部命令摘要。如上所示,在 Get-Command 命令输出的摘要中,所显示的每个命令的 CommandType 都是 Cmdlet。Cmdlet 是 Windows PowerShell 的固有命令类型,该类型大致对应于 Cmd.exe 的 dircd 命令以及 UNIX shell(例如 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 命令仅列出当前 shell 中的 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




目录