Windows 下的“Which”命令

王朝学院·作者佚名  2016-06-20
窄屏简体版  字體: 小  |  中  |  大  |  超大  

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

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航