Windows PowerShell には、利用可能なすべてのコマンドの名前を取得する Get-Command というコマンドレットがあります。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) になっています。コマンドレットは Windows PowerShell に組み込まれているコマンドで、Cmd.exe の dir コマンドや cd コマンド、または UNIX シェル (BASH など) の組み込みコマンドにほぼ相当します。
Get-Command コマンドの出力では、すべての情報を表示するだけの領域がないため、すべての説明文が省略記号 (...) で終わっています。Windows PowerShell は、出力結果を表示するとき、出力をテキスト形式に変換した上で、データが確実にウィンドウに収まるように調整します。この点については、フォーマッタに関するセクションで後述します。
Get-Command コマンドレットには Syntax パラメーターがあり、それを指定することで、各コマンドレットの構文だけを取得できます。「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 コマンドで表示されるのは、現在のシェルのコマンドレットだけです。実際には他にもいくつかの種類のコマンドがサポートされています。『Windows PowerShell ユーザー ガイド』では詳しく取り上げませんが、エイリアス、関数、スクリプトなども Windows PowerShell のコマンドです。実行可能な外部ファイルや、ファイル タイプ ハンドラーが登録されている外部ファイルも、コマンドとして位置付けられています。
次のコマンドを入力すると、呼び出すことのできるすべての項目の一覧を返すことができます。
PS> Get-Command *
この出力結果の一覧には、検索パスに存在する外部ファイルが含まれるため、場合によっては数千個の項目が表示されます。このため、コマンドを絞り込んで表示するのが一般的です。CommandType コマンドレットの Get-Command パラメーターを使用すると、他の種類のネイティブ コマンドを検索できます。他のコマンド タイプについてはまだ触れていませんが、CommandType という名前がわかっていれば、特定の種類のコマンドを表示できます。
注意事項: | |
まだ取り上げていませんが、Windows PowerShell のコマンド引数には、ワイルドカードとしてアスタリスク (*) を使用できます。アスタリスク (*) は、"任意の文字が少なくとも 1 つ" という意味です。「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