Programming Field

Cd, Chdir - DOS/コマンドプロンプト コマンド一覧

MS-DOSプロンプト・コマンドプロンプト上でディレクトリを移動(「カレントディレクトリ」(Current directory; 現在のディレクトリ)を変更)します(『Change Directory の略です)。

構文

cd [/D] <directory>
chdir [/D] <directory>
cd [<drive>:]
chdir [<drive>:]

オプション一覧

cd, chdir
このコマンドは「cd」でも「chdir」でもどちらでも構いません。
<directory>
移動するディレクトリを指定します。
特殊なディレクトリに「..」(1 つ上のディレクトリ)、「.」(カレントディレクトリ)、「\」(一番上のディレクトリ) があり、これらを指定することもできます。
ドライブを変更するには、Cd/Chdirを用いずプロンプト上で直接「x:(エンター)」(x はドライブ文字) と入力します。
/D
[Windows NT系] <directory> がドライブ文字を含む絶対パスの場合、カレントドライブ(現在のドライブ)も同時に変更します。
<drive>:
「ドライブごとのカレントディレクトリ」を表示します。ドライブ文字の後ろに必ずコロン「:」が必要です。(例: 「cd D:」)
省略した場合(「cd」または「chdir」のみを入力した場合)はカレントドライブ(現在のドライブ)に対応するカレントディレクトリを表示します。

解説

プロンプト(セッション)には「カレントディレクトリ」と「カレントドライブ」があります。カレントディレクトリはプロンプトで「C:\WINDOWS>」と表示されている時(Promptが「$p$g」設定の時)、下線部で示した部分と一致します。Chdirはこの中で「カレントディレクトリ」のみを変更します([Windows NT系] 「/D」スイッチを使った場合を除く)。

なお、カレントディレクトリはドライブごとに存在します。「ディレクトリを指定したのに移動していないように見える」といった場合は、/D オプションを使うか、ドライブの移動を行ってみてください。詳しくは「DOS/Windowsのカレントディレクトリ」および「プロンプトでのドライブ移動」をご覧ください。

[Windows NT系] 現在のカレントディレクトリを一時保存し、移動して作業を終えた後に元のディレクトリに戻りたい場合はPushdPopdコマンドの組み合わせを使います。また、Setlocal実行後にカレントディレクトリを変更した場合はEndlocal(またはバッチファイルの終了)によってカレントディレクトリがSetlocal実行時のものに戻ります。

[Windows NT系] [拡張構文] 拡張機能が有効になっている場合、Chdirの実行時に以下の挙動が追加されます。

  • <directory> で指定した名前の大文字・小文字が実際のディレクトリの大文字・小文字と異なる場合、実際のディレクトリの形式がカレントディレクトリに使用されます。拡張機能が無効の場合はこれが行われず、<directory> で指定した通りのパスがカレントディレクトリに設定されます。
  • <directory> がスペースを含むパスである場合、引用符(" ")で括らなくても正しくパスを解釈します。拡張機能が無効になっている場合は引用符で括る必要があります。

サンプル1

chdir Temp

「Temp」ディレクトリに移動します。

サンプル2

cd ..

1つ上のディレクトリに移動します。

サンプル3

D:
cd \MyData\Music

「D:\MyData\Music」をカレントディレクトリにします。(※ 「D:」でドライブを移動しないと(「cd D:\MyData\Music」とだけ指定しても)、カレントドライブが変わらないためそのままではカレントディレクトリが変わっていない状態になります。)

※ 「cd D:\MyData\Music」は「Dドライブのカレントディレクトリを変更する」という意味になるため、カレントドライブを変更せずに別のドライブのカレントディレクトリを変更する場合に有効です(サンプル5を参照)。

[Windows NT系] 「/D」オプションを使用すると以下のように1行で表現できます。

cd /D D:\MyData\Music

サンプル4

cd "C:\My Documents"

[Windows] 長い名前やスペースなどを含むディレクトリに移動する場合、引用符(" ")で括ってください。

[Windows NT系] [拡張構文] 拡張機能が有効になっている場合は引用符で括らなくても移動できます。

サンプル5 (プロンプト)

C:\My Documents>cd D:\MyData\Sheets
C:\My Documents>copy .\data.xls D:

Dドライブのカレントディレクトリを「MyData\Sheets」にして、「C:\My Documents\data.xls」を「D:\MyData\Sheets」ディレクトリにコピーします。

関連項目