2013年6月14日金曜日

Windowsバッチサンプル: コマンドパス調査 which



LinuxやUNIXを使っている方にはなじみがある「which」コマンドをWindowsで使用するために
バッチファイルを作成する。

whichコマンドは環境変数のPATH設定の中に実行したいコマンドが存在しているか確認したり、
実行パスが想定しているファイルパスで実行されるかなどを確認するために用いる。


利用例)
 Oracleを複数バージョンをインストールしているものとする。

バージョン パス
8i C:\Oracle\8i\bin
10g C:\Oracle\10g\bin
11g C:\Oracle\11g\bin

sqlplusなどはバージョンが出るのでどのバージョンのパスを参照しているか分かるが、
バージョンが出ないコマンドの場合、どのパスのコマンドか知りたい場合がある。
(バージョンによって挙動が違うので)

そういった場合、whichコマンドを利用しパスを確認した上で、利用するパスを変更したりする。



作成するファイル

以下をファイルとして保存する。

保存するファイル: C:\which.bat

@ECHO OFF
for %%I in (%1 %1.com %1.exe %1.bat %1.cmd %1.vbs %1.js %1.wsf) do if exist %%~$path:I echo %%~$path:I


パスが通っているところに今回作成したファイルを配置する必要があるが、今回はそこまでは考慮しない。


実行方法と結果



CMD> cd /d c:\
CMD> which ping    ・・・ windows標準コマンドのパスを確認してみる(存在するもの)
C:\Windows\System32\PING.EXE

CMD>
CMD> which aaa    ・・・ 存在しない実行ファイルを検索してみる

CMD>



0 件のコメント:

コメントを投稿