|
在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 T\system32\cmd.exe C:\> OK,测试通过!
|