大家都知道 Linux 系统有 which 命令可以查询 PATH 环境变量设置的路径,找到第一个匹配的应用程序所在的具体目录。Windows下没有 which 命令,研究了批处理的 FOR 语句,发现可以实现类似的功能,于是编写了一个批处理文件 which.bat,内容如下:
@echo off
if "%1" == "" goto usage
for %%I in ( %* ) do IF EXIST %%~$PATH:I ( echo %%~$PATH:I ) ELSE ( echo %%I is not found in PATH! )
goto end
:usage
echo which which?
echo Usage: which cmd.exe notepad.exe
echo.
:end
将此文件复制到 C:\Windows 目录下,你的 Windows 就有了 which 命令了!
执行效果:
D:\>which cmd.exe notepad.exe
C:\Windows\System32\cmd.exe
C:\Windows\System32\notepad.exe
写好后才查到 Windows 下有 WHERE 命令可以实现此功能,其实最简单的方法是 1. 记住 where命令,2. copy where.exe which.exe!