Sdir is a compact, colorful, sorted replacement for Windows dir command inspired from HotDIR from the 80s. It adds a lot more capabilities for querying file metadata, while still being visually and technically compact, and can be used on both old and current versions of Windows.

Screenshot of sdir

Common questions


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


Latest stable precompiled binary (with MiniCRT)
sdir.exe (version 1.28, 48.5 Kb, last updated 16 Jul 2017)
Latest stable source code (version 1.28, 70.6 Kb, last updated 16 Jul 2017)
Latest development precompiled binary (with MiniCRT)
sdir.exe (version 1.28.2017080501, 49 Kb, last updated 5 Aug 2017)
Latest development source code (version 1.28.2017080501, 71.9 Kb, last updated 5 Aug 2017)
Older versions
See the archive page.

System requirements

To run precompiled binaries of Sdir, you need Windows NT 3.1 or newer. Note that Windows 95/98/Me are not supported by these binaries.

To compile from source, you need Visual C++, version 2 or newer; or MinGW gcc; or Clang/LLVM. Free versions of Visual C++ are included in the Visual C++ 2015 Build Tools, Windows SDK 7.1 (2010), or Windows SDK 7.0 (2008).

Build instructions

Visual C++

Unpack the source, open a Visual C++ command prompt, and run NMAKE. If your version of Visual C++ doesn't create a command prompt shortcut for you, you may need to run VcVars32.bat, then run NMAKE.

MinGW or Clang

Unpack the source, open a command prompt for the desired compiler, and run make.

Compilation options

Compilation options can be used by passing arguments to NMAKE or make.

DEBUG=Enable debug code. Valid values are 0 (disabled) or 1 (enabled.) Default is 0.
MINICRT=Compile against Minicrt rather than Msvcrt. Valid values are 0 (disabled) or 1 (enabled.) If 1, minicrt.h and minicrt.lib must be in %INCLUDE% and %LIB% respectively. An alternative way to use Minicrt is to extract it into a crt subdirectory within the sdir directory, and it will be used automatically. Default is 0.
MSVCRT_DLL=Compile against the shared, DLL C runtime library, or the static version. Valid values are 0 (static C runtime), or 1 (shared C runtime.) This option is only supported on Visual C++, not on MinGW or Clang. Default is 1.
SDIR_FEATURE_LEVEL=Indicates a set of features to compile into Sdir. Valid values are 0 through 5 inclusive. Higher numbers indicate more features and larger binaries; smaller numbers indicate fewer features and smaller binaries. Default value is 5.
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.