I have a cmd open (Windows 7), and I type "java.exe", and the system finds the executable at c:\program files\java\jre6\bin.
However, this folder is not in the path. What other mechanism affect the exe lookup?
I have a cmd open (Windows 7), and I type "java.exe", and the system finds the executable at c:\program files\java\jre6\bin.
However, this folder is not in the path. What other mechanism affect the exe lookup?
Starting with Vista and above, Windows now includes a utility called where
. This program functions just like you'd expect the unix counterpart to (I'm glad they added it!)
Usage:
C:\>where java
C:\Windows\System32\java.exe
What's even nicer about where
is that it'll show you all executables it finds within your path, so if you also had java.exe in C:\Windows it would show up under the \System32\ one.
EDIT
I figured I'd also include an option for XP users that would like the functionality without third party tools. Raymond Chen wrote a command script in A 90-byte "whereis" program. It's a nice one liner that accomplishes the same task!
@for %%e in (%PATHEXT%) do @for %%i in (%1%%e) do @if NOT "%%~$PATH:i"=="" echo %%~$PATH:i
Save the above script in a .bat or .cmd file and you can launch it from the command line with the filename as the argument. It'll work just like you expect! (note, if using the script version, leave off the extension, it'll search all executable extensions for you)
find
command in Unix (unlike the find
command in DOS or Windows). You can do where -r \users\username\documents *.xl*
for example.
Oct 6, 2009 at 18:12
where.bat
and it works just like vista would! :)
there's a copy of java.exe in c:\windows\system32 (which is a path defined in the environment variables). that's the one that comes up when you type java.exe at the command prompt, not the one in c:\program files\java\jre6\bin.
There is an another way to look up files location in path using powershell:
(Get-Command java).Source