PowerShellには、ほとんどの(すべてではないにしても)Unixシェルにあるwhich
コマンドと同等のものはありますか?
コマンドラインから実行しているものの場所を知りたいことがよくあります。 Unixではwhich <command>
、それは私に教えてくれます。 PowerShellで同等のものを見つけることができません。
これはスタックオーバーフローで尋ねられ、答えられました:PowerShellの* Nix 'which'コマンドに相当しますか?
PowerShellでプロファイルのカスタマイズを開始したときに最初に作成したエイリアスは、「それ」でした。
コマンドを取得する新しいエイリアス
これをプロファイルに追加するには、次のように入力します。
"` nNew-Alias which get-command "| add-content $ profile
最後の行の先頭にある `nは、新しい行として開始することを保証するためのものです。
PowerShell 3.0以降では、
(Get-Command cmd).Path
これは、System.String
を返すというVanilla Get-Commandよりも優れているので、慣れているようなきれいな* nixyの1行の出力を取得できます。 gcmエイリアスを使用すると、11文字まで使用できます。
(gcm cmd).Path
また、2008年に回答: Windowsコマンドラインに 'which'に相当するものはありますか?
リソースキットをインストールしている場合は、 where
コマンドを試してください。
答えの最も重要な部分:
Windows Server 2003以降では、実行可能なコマンドだけでなく、すべてのタイプのファイルに一致しますが、一部の機能を実行する
WHERE
コマンドを提供しています。[をちょきちょきと切る]
Windows PowerShellでは、
where.exe
と入力する必要があります。
function which([string]$cmd) {gcm -ErrorAction "SilentlyContinue" $cmd | ft Definition}