Where command in windows | which command alternatives

In Linux, Which command is used to give the location of the executable command to the console.

In windows, This command does not work and gives an error -‘which’ is not recognized as an internal or external command, operable program, or batch file.

C:>which derby ‘which’ is not recognized as an internal or external command, operable program, or batch file.

What is windows equivalent command of which command in Unix?

This tutorial covers which command alternative in windows

  • using where the command
  • Cygwin tool
  • PowerShell command

Where command in windows

Where command is equal to which command in Unix/Linux. It will only work from the windows 2003 version.

where the command prints the location of the file for a given search pattern. This search has given a search pattern in the environment variable path.

Here is a syntax

where  [options] searchpattern


/R - recursive path for searching files /F - Displays the path of the file in double quotes /T - Displays file path metadata like size, modified date


It contains a string or pattern of strings using * for multiple, ? for a single character

Here is help documentation for the where.exe command

C:\>where /?

Here is an example where the command for the location of the ping command

C:\>where ping

suppose, you want to know the java executable location when there are multiple versions are included

C:\>where java
C:\Program Files (x86)\Common Files\Oracle\Java\javapath\java.exe

if you want to know the location for a word that starts with jav, suffix * to it

where jav*

if you used search pattern jav? It searches for the words jav or and the fourth letter might be any single letter or zero.

where jav?

window PowerShell which alternative

Get-Command in PowerShell works the same as where command, This will work only in PowerShell command prompt only.

PS C:\> Get-Command java

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Application     java.exe                                           8.0.102... A:\Java\jdk1.8.0\bin\java.xe

Cygwin tool

Cygwin is a runtime tool that supports Linux commands in windows.

you can install it from here🔗

all the Linux commands work in windows, which command also works as expected


To sum up, Where command in DOS of windows and Get-Command in PowerShell are the alternatives to which command in windows.