2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« 「Windows 画像と Fax ビューア」でファイルを表示または印刷するショートカット | トップページ | コマンドラインで、フォルダとファイルを判別する。(その2) »

2008年10月19日 (日)

Where is where.exe ?

unix の which に相当するのは、Windows では whrere.exe です。

MS 純正の where.exe は、以下からダウンロードできます。

ftp://ftp.microsoft.com/reskit/y2kfix/x86/where.exe

which をバッチファイルで代替すると、

which.cmd ベース名.拡張子

@if exist "%~$PATH:1" echo;"%~$PATH:1"

この場合は、拡張子が省略できません。

拡張子を省略可にしたければ、環境変数のPATHEXTを使って、拡張子を補います。

which.cmd ベース名

@for %%1 in (%*) do @for %%2 in (.;%PATHEXT%) do @for %%3 in ("%%~1%%2") do @if exist "%%~$PATH:3" echo;"%%~$PATH:3"

GUIでは、
「新規作成」「ショートカット」
で、ベース名を与えれば、PATHで解決してくれます。
作成したショートカットのプロパティでリンク先を見ます。

WSHでも、同じ原理が利用できます。

which.vbs ベース名

Set wShell=CreateObject("WScript.Shell")
Set Link=wShell.CreateShortcut("hoge.lnk")
On Error Resume Next
Link.TargetPath=WScript.Arguments.Item(0)
On Error GoTo 0
WScript.Echo Link.TargetPath

« 「Windows 画像と Fax ビューア」でファイルを表示または印刷するショートカット | トップページ | コマンドラインで、フォルダとファイルを判別する。(その2) »