こちらのドキュメントのリンクに従って
PATH で最初に見つかった Java 実行可能ファイルを見つけるには、次のコマンドを実行します。
which java
このコマンドは、私のマシンで次の 3 つのパスを返します
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 はありません。その場所に Java (Java SE 7 Update 25) がインストールされていますC:\Program Files (x86)\Java\jre7\
これは、「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
、それも2回ですか?
Windows にはネイティブ コマンドがないため、次のスクリプトで "which" を模倣するためwhich
に a が作成されていることがわかりました。which.exe
@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*