2011年1月25日火曜日

CD = CHDIR = 現在居る場所(= カレントディレクトリ)を表示、変更する - Windowsのコマンドプロンプト(bat,cmd)

Windowsコマンド。ファイルとフォルダー関連
○Windows XP
現在居る場所(= カレントディレクトリ)を表示、変更します。

o フォルダーのパスを指定しない時、カレントディレクトリを表示します。
o 他のドライブに移動する時は、/d オプションを付けると便利です。

o カレントディレクトリを取得したい時は、%CD% を使用する事も出来ます。


**** 書式
--------
cd [/d] [フォルダーのパス]
もしくは
chdir [/d] [フォルダーのパス]
--------

o コマンド名やキーワードは、大文字小文字のどちらでも大丈夫です。
o /d = ドライブも変更したい時に使用します。
o フォルダーのパス - 移動したいフォルダーの場所とフォルダー名を「\」でつなぎます。
    + 相対パスも使用出来ます。
    + 「..」(= 親フォルダー)を使用出来ます。
    + 次の時には、前後に必ず「"」(= 二重引用符)を付けます。
        + パスの途中に空白が入っている時
        + 「\」の代わりに、UNIXの区切り文字「/」を使う時


**** 戻り値 ( ERRORLEVELの値。確認分のみ )
o 0 = 成功
o 1 = エラー
    + 指定されたパスが見つかりません。 = フォルダーのパスの書き方、もしくはオプションが間違っています。
    + 指定されたドライブが見つかりません。 = フォルダーのパス先頭にあるドライブ名が見つかりません。
    + デバイスの準備ができていません。 = ドライブに、CD-ROM や DVD などが入っていません。


**** 使用例
o 漢字も使用出来ます。
--------
cd /d c:\ミクさん\Cドライブだよー
cd /d "d:\ミクさん\Dドライブ だよー"

c:
cd c:\ミクさん\Cドライブだよー

d:
cd "/ミクさん/Dドライブ だよー"
--------

o フォルダーのパスの途中に空白が入っている時は、「"」で括ります。
o また、フォルダーの区切り文字を「/」にする時も、「"」で囲みます。


**** 機能
o 何も指定しない時、現在居る場所(= カレントディレクトリ)を表示します。
o フォルダーのパスを指定すると、カレントディレクトリを変更します。
o このコマンドは、途中に空白が入っていても、フォルダーのパスを認識します。
    + コマンド拡張機能を無効にすると、動きが下記のように変わります。
o /D オプションを付けると、カレントドライブを一緒に変更する事が出来ます。
    + /D オプション無しの時は、ドライブは切り替わりません。

** カレントドライブについて
o Windowsのコマンドプロンプトには、カレントドライブとカレントディレクトリという、2つの概念があります。
o カレントディレクトリは、ドライブ毎に記憶されています。
o そして、カレントドライブを変更した時に、そのドライブのカレントディレクトリが有効になります。

** コマンド拡張機能を無効にした時の動作
o (例えば、「cmd /e:off」を実行して、その中で、このコマンドを動かした時です。)
o 途中に空白が入っていると、そこまでをフォルダーのパスと認識します。
    + フォルダーのパスに途中の空白を含めたい時は、フォルダーのパスを「"」で括ります。
o /d オプションが付いていると、何もしません。
    + コマンド拡張機能無効中にも同じように動かしたい時は、次のように書きます。
--------
d:
cd "/ミクさん/Dドライブ だよー"
--------

o もっとも、ヘルプの説明によると、コマンド拡張機能を強制的に有効にする事も出来るみたいです。(= 未確認)
o どちらかというと、なるべく昔のWindowsでも動かしたい時の注意点だと思います。


**** 確認したバージョン
o Windows XP Service Pack 3


==
関連ページ:
    ▼Windowsコマンド。ファイルとフォルダー関連▼ABC順
    ▼Windowsコマンド一覧▼ABC順
    ▼コマンドプロンプト画面
    ▼制作メモ
    > PUSHD = 現在居る場所(= カレントディレクトリ)を保存しつつ変更する
    POPD = 現在居る場所(= カレントディレクトリ)を、PUSHDで保存した場所に戻す
    DIR = フォルダーやファイルの管理情報を一覧表示する
    +
    ファイルやフォルダーのパスを簡単に入力する
    ファイルやフォルダーのパスを書いて、エラーになる時の確認点
    MKDIR = ディレクトリ(= フォルダー)を作る
    RMDIR = ディレクトリ(= フォルダー)を削除する
(2011年2月6日追加。コマンド拡張機能無効時の動作。合わせて機能欄の表現を整理)
(2011年2月4日追加。機能欄に、もう一度試した時の動作)