「Windows PowerShellでUnixの`which`コマンドと同じことをしたいけれど、どうすればいいの?」とお悩みの方へ。この記事では、PowerShell初心者の方にもわかりやすく、Unixの`which`コマンドの代わりに使える方法を解説します。
PowerShellで「which」の代わりになるコマンド
PowerShellには、Unixの`which`コマンドと同じように、コマンドやプログラムの場所(パス)を調べる方法がいくつかあります。代表的なものをご紹介します。
Get-Commandコマンドレットを使う
PowerShellでは、`Get-Command`コマンドレットを使って、コマンドやプログラムの情報を取得できます。例えば、`notepad`の場所を調べるには、次のように入力します。
Get-Command notepad
このコマンドを実行すると、`notepad`のパスが表示されます。
where.exeを使う
Windowsには、`where.exe`というコマンドもあり、これをPowerShellでも使用できます。例えば、`notepad`の場所を調べるには、次のように入力します。
where.exe notepad
このコマンドでも、`notepad`のパスが表示されます。
自分で「which」コマンドを作る
PowerShellでは、自分で関数を作って、Unixの`which`コマンドと同じように使うこともできます。例えば、次のように関数を定義します。
function which {
param (
$Program
)
(Get-Command -Name $Program).Path
}
この関数をPowerShellのプロファイルに追加しておくと、`which notepad`のように使えるようになります。
まとめ
PowerShellでUnixの`which`コマンドと同じことをする方法は、いくつかあります。初心者の方でも、`Get-Command`や`where.exe`を使って、簡単にコマンドやプログラムの場所を調べることができます。また、自分で関数を作って、より便利に使うこともできます。ぜひ、試してみてください。



コメント