WCD - Wherever Change Directory
chdir for DOS and Unix, w/C src
|wcd|
contact|
Wcd is a command-line program to change directory fast. It saves time typing at the
keyboard. One needs to type only a part of a directory name and wcd will
jump to it. Wcd has a fast selection method in case of multiple matches and
allows aliasing and banning of directories. Wcd also includes a full screen
interactive directory tree browser with speed search.
Wcd was modeled after Norton Change Directory (NCD).
NCD appeared first in The Norton Utilities,
Release 4, for DOS in 1987, published by Peter Norton.
NCD was written by Brad Kingsbury.
Examples of wcd usage:
wcd Desk
will change to directory /home/waterlan/Desktop
But also
wcd *top
will do that.
Wcd is free to use and you can get the source code too.
Features of wcd:
Full screen interactive directory browser with speed search and zoom in/out.
Present the user a list in case of multiple matches.
Wildcards *, ? and [SET] supported.
Directory stack, push pop.
Subdir definition possible. E.g. wcd subdira/subdirb
Long directory names support in Win95/98/NT DOS-box
Windows LAN UNC paths supported.
Change drive and directory at once.
Alias directories.
Ban directories.
Exclude directories.
Alternate stack per shell or terminal.
Multi user: Jump to folders of your colleagues.
Multi platform:
- DOS 16 bit, DOS 32 bit, DOS bash
- Windows Command Prompt, Windows PowerShell, WinZsh, MSYS, Cygwin
- Unix/Linux: all Bourne and C type shells.
- OS/2 Warp
Native language support:
Brazilian Portuguese, Chinese simplified, Danish, Dutch, English,
Esperanto, Finnish, French, Friulian, German, Romanian, Serbian, Spanish,
Swedish, Ukrainian, Vietnamese.
Unicode Level 3 support (all UCS characters including double width and combining characters).
- Unix/Linux
- Cygwin.
- Windows PowerShell.
- Windows Command Prompt (cmd.exe) on Windows 7 and up.
- Unicode matching with normalization (compatible equivalence).
Option to ignore diacritics for Latin-based scripts.
WCD is free software, distributed under GNU General Public License, version 2.
View the README
or WHATSNEW
or COPYING
or FAQ
or TODO
or PROBLEMS.
SCREENSHOTS.
Manual
How to install wcd on DOS, Windows, or OS/2.
How to build wcd for DOS, Windows, or OS/2 with GCC.
How to build wcd for DOS, Windows, or OS/2 with Watcom C.
How to build wcd for Windows with Microsoft Visual C.
How to build and install wcd on Unix/Linux/Cygwin.
How to open wcd best match directory in Windows Explorer.
Download WCD:
Latest stable version: 6.0.5 Apr 23 2023
For previous releases see: Old versions of wcd
Ready-to-Run binaries
TIP: DOS/Windows with PDCurses interface: Set environment variable PDC_RESTORE_SCREEN so that the
screen will be restored after wcd exits. Add this to your autoexec.bat file:
set PDC_RESTORE_SCREEN=1
Linux
DOS / Windows 95/98/ME
- 16 bit Real Mode (Without Native Language Support)
- 32 bit Protected Mode
A fast 32 bit DOS version which supports long
directory names in a Windows 95/98 DOS-box.
Requires 80386 CPU or higher.
- BASH 32 bit
This version is to be used in the DJGPP DOS port of the
Unix Bourne Again Shell (bash).
Requires 80386 CPU or higher.
- distributions
Windows XP/Vista/7/8/8.1/10
With long directory name and Windows LAN UNC paths support. If special characters
(e.g. accented characters) are not shown properly, see the manual section
WINDOWS CODE PAGES.
I recommend to use the Unicode version when possible.
When you switch from the non-Unicode version to the Unicode version, or vice versa,
you need to rescan all your drives.
You need to set the font to a True Type font (Lucida Console or Consolas
in a Western region) when you have international directory names. See also the
manual section UTF-16 on Windows.
Windows Command Prompt (cmd.exe)
Unicode support in Command Prompt requires Windows 7 or higher. Unicode does not work on older Windows versions.
Unicode does work in Take Command/TCC on Windows XP/Vista.
Windows PowerShell. See also Windows PowerShell (WikiPedia). UNC paths are supported directly, no mapping to drive letters needed. Note: Only the file system provider is supported, no other providers.
- WinZsh and Tcsh. UNC paths are supported directly, no mapping to drive letters needed.
MSYS.
You can use the win32zsh, or the
native MSYS version. The PDCurses interface does not work in the rxvt and
mintty terminal, because those terminals don't accept standard input from
native win32 programs (see also here).
Alternative good terminals are ConEmu
and Console (also known as Console2) and
ConsoleZ. The Zsh version
uses Command Prompt style paths like c:/Windows, the native MSYS versions use
MSYS style paths like /c/Windows.
MSYS2.
You can use the win32zsh, or the
native MSYS2 version. The PDCurses interface does not work in the
mintty terminal, because that terminals doesn't accept standard input from
native win32 programs (see also here
for a similar problem with msys 1 and the rxvt terminal).
Alternative good terminals are ConEmu
and Console and
ConsoleZ. The Zsh version
uses Command Prompt style paths like c:/Windows, the native MSYS versions use
MSYS style paths like /c/Windows.
- Native msys2 for Mintty (ncurses), use the msys2 package installer: pacman -S wcd
- wcd-6.0.5-win32zsh.zip For ConEmu/Console. (PDCurses)
msys2 versions require ncurses, gettext, libiconv, and libunistring.
Cygwin (i686).
Behaves as the Unix versions. UNC paths are supported directly, no mapping to drive letters needed.
- Cygwin: Install wcd via the Cygwin "setup.exe" installer. See Cygwin. Look under category "Utils".
HP-UX
AIX
Mac OS X/Darwin
OS/2 WARP
Binaries of wcd for other platforms are welcome. Send them by e-mail to
Source Code
Comments and patches are welcome. Also help with translations is appreciated.
If you want to help translating the wcd messages into more languages go to the Translation Project. For UI messages see Wcd messages, and for the manual see Wcd manual
Latest development version from Git repository:
Check out the new repo with this command:
git clone https://git.code.sf.net/p/wcd/wcd
Source code libintl DLL
The win32 binaries are packaged with with a patched version of MinGW's libintl DLL that has builtin relocation support.
See http://waterlan.home.xs4all.nl/libintl.html
WCD related links
Notification of new versions
Want to be notified whenever a new version of WCD arrives? Send an email to
with subject wcd add.
Write in the email for which operating system you use wcd.
(Your e-mail address will only be used for notification of new versions of wcd.
It will not be given to any third party.)
You will not get a notification of all beta versions, only when there are important changes in a beta release.
To remove your e-mail address from the list send an email with subject wcd remove.
You can also subscribe to the wcd project page at http://sourceforge.net/projects/wcd/. Beta versions are never notified via SourceForge. New releases are announced at freshcode.club.
Alternative implementations
DOS
Garbo /pc/dirutil Directory utilities from the old ftp site at garbo.uwasa.fi as run by Professor Timo Salmi in Finland.
Windows 9x/NT
QCD Quick Change Directory, with a GUI (Steve P. Miller)
Total Commander A Norton Commander clone, with fast directory changing via a graphical tree. (Shareware)
Jump-Location A PowerShell implementation of autojump (Tim Kellogg)
Unix
KCD Kriang's Change Directory (Kriang Lerdsuwanakij)
cdargs (Stefan Kamphausen)
Apparix (Stijn van Dongen)
cdq Change Directory Quickly (Jiang Xumin)
Norton Change Directory (NCD) clones Including some NCD history information.
autojump (Joël Schaerer and William Ting)
go2 (David Villa Alises)
z (Rupa Deadwyler)
Ibiblio /pub/Linux/utils/shell: kcd, marks, ncd, rcd, wcd, xd
Ibiblio /pub/Linux/utils/file/managers: ncd
Erwin Waterlander