windos或linux中 which命令 查看当前要执行的命令所在的路径

whereis 用来查看一个命令或者文件所在的绝对路径,而 which 用来查看当前要执行的命令所在的路径。 

下面举个例子来说明。加入你的linux系统上装了多个版本的java。如果你直接在命令行敲命令 "java -version" ,会得到一个结果。但是,你知道是哪一个路径下的java在执行吗?如果想知道,可以用 which 命令: 

which java 

得到的结果就是系统默认执行的java所在的路径。 

如果使用命令: whereis java 

那么你会得到很多条结果,因为这个命令把所有包含java(不管是文件还是文件夹)的路径都列了出来。 

原文地址:http://kooyee.iteye.com/blog/445886

 

在Windows的Resource Kit中有一个where.exe,它也有相同的功效,不过一套Resource Kit要300美元,在这里我们可以作一个批处理文件来实现这个功能。

使用记事本编辑一个which.bat,并将其存放在Winnt目录或者其他Path变量中的目录里,该批处理文件的内容如下:

@echo off

Rem 检查命令行参数
if {%1}=={} goto :Usage
for %%i in ({ {/ {-) do if {%1}==%%i?} goto :Usage %%i
echo.

:Rem 在当前目录检查看是否存在该文件
for %%i in (%1) do if exist %%~nx%i (
    echo %%~Fi
    goto :EOF
)

:Rem 在Path中检查该文件
for %%i in (%1) do (
    if exist %%~$PATH:i (
        echo %%~$PATH:i
    ) else (
        echo Error: %1 不在路径里!!!
        goto :Usage
    )
)
goto :EOF


:Usage
echo.
echo WHICH "filename"
echo.
echo       输入文件名,返回该文件的全路径!
echo.

注意bat文件要存为ANSI编码格式在cmd中中文才不会为乱码

原文地址:http://www.xgdown.com/article/222/67107_1.htm

posted on 2013-09-26 16:19  albert1017  阅读(2192)  评论(0编辑  收藏  举报

导航