【发布时间】:2013-06-21 23:17:02
【问题描述】:
根据此处的文档link
要找出在您的 PATH 中找到的第一个 java 可执行文件,请执行:
which java
这个命令在我的机器中返回以下三个路径
C:\>which java
C:\Windows\system32\java.EXE
C:\Program Files (x86)\Java\jre7\bin\java.EXE
C:\Windows\System32\java.EXE
C:\Windows\System32 中没有 java.exe。
我在C:\Program Files (x86)\Java\jre7\ 位置安装了 java (Java SE 7 Update 25)
这也可以通过运行“where java”来确认
C:\>where java
C:\Program Files (x86)\Java\jre7\bin\java.exe
我在环境变量中设置了Path=C:\Program Files (x86)\Java\jre7\bin;。此路径未在任何环境变量中使用。
我想知道的是,which java 是如何以及为什么返回 C:\Windows\System32\java.EXE 并且也是两次?
由于 Windows 中没有原生的 which 命令,我刚刚发现创建了一个 which.exe 以使用以下脚本模仿“which”
@for %%a in (%PATH%) do @if exist %%a\%1 (
for /f %%b in ('dir /b %%a\%1') do @echo %%a\%%b
)
@rem for %a in (%PATH%) do @if exist %a\which* dir /b /w %a\which*
【问题讨论】:
-
Windows 有
which命令吗?which which的输出是什么?where是什么?从未听说过 Windows 上有用的实用程序。你用 Cygwin 吗? -
是的,他一定在使用 Cygwin。 “哪个”是一个 unix 命令 - stackoverflow.com/questions/304319/…
-
@T-Bull 我在您的评论后进行了调查,发现使用以下脚本创建了一个 exe 来模仿“which”命令。
@for %%a in (%PATH%) do @if exist %%a\%1 ( for /f %%b in ('dir /b %%a\%1') do @echo %%a\%%b ) @rem for %a in (%PATH%) do @if exist %a\which* dir /b /w %a\which*和 "which which" 返回 this which.exe 的路径 -
@ontherocks:哦,这很有趣,我会检查一下。顺便说一句,以
@rem开头的行不起作用,因为rem是批处理文件中的注释标记(即该行已被注释掉)。
标签: java windows windows-7 command-line command