在Linux下,有一個命令叫做which,它可以在Path中尋找某個命令所在的目錄並顯示出來。
Linux下:
[adam@i ase adam]$ which ls
/bin/ls
[adam@i ase adam]$ which rm
/bin/rm 在NT的Resource Kit中有一個where.exe,它也有相同的功效,不過Resource Kit是收費的,在這裡我們可以作一個批處理文件來實現這個功能。
使用記事本編輯一個which.bat,並將其存放在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 cmd.exe C:WI Tsystem32cmd.exe C:> OK,測試通過!