Linux下: [adam@i ase adam]$ which ls /bin/ls [adam@i ase adam]$ which rm /bin/rm 在NT的Resource Kit中有一个where.exe,它也有相同的功效,不过Resource Kit是收费的,在这里我们可以作一个批处理文件来实现这个功能。
@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 T\system32\cmd.exe C:\&; OK,测试通过!