WCD - Wherever Change Directory
chdir for DOS and Unix, w/C src
|wcd|
contact|
https://waterlan.home.xs4all.nl/|
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 version: 6.0.6-beta1 Mar 26 2024
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
- 6.0.6-beta1: Updated installation instructions for Linux. Updated po4a usage.
Complete list of changes: WHATSNEW
Windows version with ncurses interface.
The Windows versions of wcd use the PDCurses library for the interface. PDCurses development has been on hold for a long time. It took 10 years to go from version 3.4 (Sep 2008) to version 3.5 (Jan 2018). I have been looking at replacing PDCurses with Ncurses. Ncurses is actively maintained and improving slowly for Windows. Ncurses development focuses mainly on Unix. The main problem of Ncurses on Windows is screen vibration. This can be solved by using werase() instead of wclear(), but when werase() is used, the screen gets filled with garbage when an East-Asian CJK legacy font is used.
- wcd-6.0.3-win32-ncursesw-nls-ucs.zip Win32 binary for Windows Command Prompt built with ncurses 6.2.20200212. International, Unicode.
- wcd-6.0.3-win64-ncursesw-nls-ucs.zip Win64 binary for Windows Command Prompt built with ncurses 6.2.20200212. International, Unicode.
- Built with a recent version of ncursesw.
- Has better support for Unicode combining characters than pdcursesw.
- Works best in ConEmu
- To work in Console (also known as Console2) or ConsoleZ, set environment variable NCURSES_CONSOLE2 to 1 (set NCURSES_CONSOLE2=1).
- Screen may vibrate.
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.
ccd0803a.zip CCD, Coig Change Directory, Jan 18 2001. (Jose Coig). This version is almost identical to the original NCD.
acd305.zip ACD 3.05 (Sep 1 1999) Another Change Directory (Arjen Merckens)
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