在Linux下,有一個命令叫做which,它可以在Path中尋找某個命令所在的目錄並顯示出來。 Linux下:
[adam@i ase adam]$ which ls
/bin/ls
[adam@i ase adam]$ which rm
/bin/rm 在NT的urce Kit中有一個,它也有相同的功效,不過Resource Kit是收費的,在這裡我們可以作一個批處理檔案來實現這個功能。
使用記事本編輯一個,並將其存放在Wi t目錄或者其他Path變數中的目錄裡,該批處理檔案的內容如下: @echo off Rem 檢查命令列引數
if {%1}=={} goto :Usage
for %%i i ({ {/ {-) do if {%1}==%%i?} goto :Usage %%i
echo. :Rem 在當前目錄檢檢視是否存在該檔案
for %%i i (%1) do if exist %%~nx%i (
echo %%~Fi
goto :EOF
) :Rem 在Path中檢查該檔案
for %%i i (%1) do (
if exist %%~$PATH:i (
echo %%~$PATH:i
) else (
echo Error: %1 不在路徑裡!!!
goto :Usage
)
)
goto :EOF
:Usage
echo.
echo WHICH quot;filename"
echo.
echo 輸入檔案明,返回該檔案的全路徑!
echo.
我們來對我們的程式作一個測試:
Microsoft Window 2000 [Versio 5.00.2195]
(C) 版權所有 1985-1998 Microsoft Corp. C:>which WHICH quot;filename" 輸入檔案明,返回該檔案的全路徑!
C:>which C:WI Tsystem32 C:> OK,測試通過!