Change Directory - Select a Folder (and drive)

      CD [/D] [drive:][path]
      CD [..]

   /D : change the current DRIVE in addition to changing folder.

CHDIR is a synonym for CD.

Tab Completion

Tab completion allows changing the current folder by entering just part of the path and pressing TAB.

   C:> CD Prog [PRESS TAB] 
   Will go to C:\Program Files\

Tab Completion is disabled by default, it has been known to create difficulty when using a batch script to process text files that contain TAB characters.

Tab Completion is turned on by setting the registry value shown below:

[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]

A Current Directory for each drive?

Originally in MS-DOS, each drive had its own current directory, for complex historical reasons.

Now in Win32, there is one global current directory, but at the command line the appearance is still maintained that each drive has its own current directory, this is a fake-out by cmd.exe.
The location for each drive is stored using the undocumented environment variables =A:, =B:, =C: etc.

The only reason you need to be aware of this is that GUI Windows applications may have a different current directory than the command prompt. Similarly two CMD sessions can each have a different current directory.


If the Current directory was changed: %ERRORLEVEL% = 0
If the Directory does not exist or is not accessible or if a bad switch given: %ERRORLEVEL% = 1

CHDIR is a synonym for CD

CD is an internal command.


Change to the parent directory:

C:\Work> CD ..

Change to the grant-parent directory:

C:\Work\backup\January> CD ..\..

Change to the ROOT directory:

C:\Work\backup\January> CD \

Display the current directory in the specified drive:

C:\> CD D:

Display the current drive and directory:

C:\Work> CD

Display the current drive and directory:

C:\Work> ECHO "%CD%"

In a batch file to display the location of the batch script file (%0) :

C:\> ECHO "%~dp0"

In a batch file to CD to the location of the batch script file (%0):

C:\> CD /d "%~dp0"

Move down the folder tree with a full path reference to the ROOT folder:

C:\windows> CD \windows\java

Move down the folder tree with a reference RELATIVE to the current folder:

C:\windows> CD java

Move up and down the folder tree in one command:

C:\windows\java> CD ..\system32

Change the Current Drive, Enter the drive letter followed by a colon:

C:> E:

To change drive and directory at the same time:

C:> cd /D E:\utils

If Command Extensions are enabled, which they are by default, the CD command is enhanced as follows:

The current directory string is not CASE sensitive.
So CD C:\wiNdoWs will set the current directory to C:\Windows

CD does not treat spaces as delimiters, so it is possible to CD into a subfolder name that contains a space without surrounding the name with quotes.

For example:
cd \My folder

is the same as:
cd "\My folder"

An asterisk can be used to complete a folder name:
e.g. C:> CD pro*
will move to C:\Program Files\

“Change is the law of life. And those who look only to the past or the present are certain to miss the future” ~ John F. Kennedy

Related commands

MD - Create Directory.
pushd - Change Directory.
RD - Delete directory or entire directory tree.
How-to: Long filenames, NTFS and legal filename characters.
Q156276 - Cmd does not support UNC names as the current directory.
Equivalent PowerShell: Set-Location - Set the current working location.
Equivalent bash command (Linux): cd - Change Directory.

Copyright © 1999-2024
Some rights reserved