PowerShellでwhichコマンドのようにコマンドのフルパスを調べる方法(Get-Command)

目次

スポンサードリンク

LinuxやmacOSでは、コマンドの実体パスを確認するために which コマンドを使います。Windwosにはwhichコマンドはありませんが、PowerShellでは Get-Command でwhich相当の機能を実現できます。

Get-Commandコマンドの基本的な構文

Get-Command の基本的な構文は以下の通りです。指定したコマンドの実態がどこにあるか表示できます。

Get-Command コマンド名

下記例では、pingコマンドの実体がどこにあるか表示しています。この結果から、pingコマンドの実体は「C:\Windows\system32\PING.EXE」にあることが分かります。Linuxと異なる点として、ファイルパスだけでなく、ファイルのバージョンなど付随する情報も確認できます。

PS C:\Users\username> Get-Command ping

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Application     PING.EXE                                           10.0.26... C:\Windows\system32\PING.EXE

なお、Get-Command の省略形として gcm も利用できます。

PS C:\Users\username> gcm ping

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Application     PING.EXE                                           10.0.26... C:\Windows\system32\PING.EXE

Get-Commandコマンドでエイリアスかどうか確認する

Get-Command は ファイルの場所だけでなく、エイリアス(省略名)のコマンドの正式名称を確認することもできます。下記は ls コマンドの実行例ですが、ls は Get-ChildItem のエイリアスであることが分かります。

PS C:\Users\username> Get-Command ls

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Alias           ls -> Get-ChildItem

普段使用しているコマンドの正体や実体の確認・デバッグに役立つので、ぜひ活用してみてください。


コマンドプロンプトのポケットリファレンス:Windows11対応版
Windows環境で開発やシステム管理を行うエンジニアにとって、コマンドプロンプトの知識は非常に重要なスキルセットです。こちらの書籍は初心者にもわかりやすく網羅的です。手元に置いておきたい一冊です。

PowerShellの基礎を一通り学べるおすすめ書籍