Windowsコマンドプロンプトでディレクトリコンテキストを別のドライブ(D、E、Fなど)に変更するたびに、"Drive letter":\
commandを使用して実際に変更する必要があります。私がしようとすると、「cdコマンド」にcd H:\
私のために、\と何もしない:それだけHをエコー:
そのような動作の理由はありますか?つまり、cd command
これを実行するのはうまくいかないのですか?どうして?
Windowsコマンドプロンプトでディレクトリコンテキストを別のドライブ(D、E、Fなど)に変更するたびに、"Drive letter":\
commandを使用して実際に変更する必要があります。私がしようとすると、「cdコマンド」にcd H:\
私のために、\と何もしない:それだけHをエコー:
そのような動作の理由はありますか?つまり、cd command
これを実行するのはうまくいかないのですか?どうして?
回答:
試してください:
cd /d d:
/d
また、ディレクトリだけでなくドライブ文字も切り替えます。その他の情報については、 cd /?
Windowsがこのように動作する理由は、DOSがそのように動作するためです。
DOSでは、各ドライブには独自の現在のディレクトリがあり、cd
コマンドはドライブ上の現在のディレクトリを変更します。それが現在のドライブでもある場合、作業ディレクトリはそれに伴って変更されます。現在のドライブを変更する場合は、ドライブ文字をコマンドとして指定するだけです。
Windowsが実際にしないことを注意働くもうこの道を-あなただけの任意の時点で1つのカレントディレクトリを持っている-しかし、コマンドシェルは、現在のディレクトリをドライブごとに、残っていることをふりをする偉大な長さになります。おそらくこれは、既存のDOSバッチファイルとの互換性を維持するためです。
DOSがこのように機能する理由は、DOSの最も初期のバージョン、およびその前のCP / Mにまでさかのぼります。厄介な詳細は、Raymond Chenのブログにあります。