CD

Change Directory - Select a Folder (and drive)

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

Key
   /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:

REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"CompletionChar"=dword:00000009

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.

Errorlevels

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.

Examples

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
C:\windows\java>

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

C:\windows> CD java
C:\windows\java>

Move up and down the folder tree in one command:

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

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

C:> E:
E:>

To change drive and directory at the same time:

C:> cd /D E:\utils
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 SS64.com
Some rights reserved