which for Windows


Which for Windows is a re-implementation of the UNIX/Linux which command for Windows. By default it searches %PATH% and applies executable extensions, but can be told to seach any environment variable containing a path list for any specific file.


This software is licensed under the terms of the MIT license.


Latest stable precompiled binary (with MiniCRT)
Latest stable Source code
Latest development precompiled binary (with MiniCRT)
Latest development source code
Older versions
See the archive page.

System Requirements

To run which binaries, you need Windows NT 4 or newer.

To compile from source, you need Visual C++, version 2 or newer, and you need to compile with MiniCRT. Free versions of Visual C++ are included in the Visual C++ 2015 Build Tools, Visual Studio Express 2012, Windows SDK 7.1 (2010), or Windows SDK 7.0 (2008).

Build instructions

  1. Open a command prompt to your version of Visual C++ and set up your environment.
  2. Unpack and enter the which source tree.
  3. Unpack the minicrt source tree within the which source tree in a directory called "crt".
  4. Most of the time, just run "nmake".

Compilation options

Compilation options can be used by passing arguments to NMAKE.

DEBUG=Enable debug code. Valid values are 0 (disabled) or 1 (enabled.) Default is 0.
UNICODE=Compile a Unicode or ANSI version of the binary. Unicode is more useful on NT, but ANSI is required to run on Windows 95. Valid values are 1 (Unicode) or 0 (ANSI.) Default is 1.