在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,测试通过!

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!