コマンドプロンプト (cmd) で C:\ 以外のドライブ文字を変更できない

コマンドプロンプト (cmd) で C:\ 以外のドライブ文字を変更できない

何が原因かはわかりませんが、Windows 10 のコマンド プロンプトを使用しているときに、cdC: 以外のドライブ文字のコマンドを使用してドライブを変更できないことに気付きました。また、ターゲット ドライブから特定のフォルダーにディレクトリを変更しようとすると、オートコンプリート機能は正常に機能しますが、ディレクトリの変更は行われないことにも気付きました。

ディスク管理ツールのスクリーンショットと実際の cmd プロンプト コマンドを次に示します。

ディスクの管理

コマンド・プロンプト

この動作は PowerShell には適用されないため、ドライブを正常に変更できます。

答え1

それは普通のことです。歴史的な理由から、CDコマンドはCmd.exeでも動作します。これはMS-DOS COMMAND.COMでも同様の動作をするためです。ディレクトリの変更記憶されます (Cmd は MS-DOS と同様にドライブごとに追跡します)。ただし、実際のドライブは、ドライブ名だけを入力して個別に切り替える必要があります。

C:\>  e:
E:\>  cd \fonts
E:\Fonts>  _

非常にわかりにくいですが、逆の場合も機能します。

C:\>  cd e:\fonts
C:\>  e:
E:\Fonts>  _

cd e:スクリーンショットでegを使用すると、これは変化何でも、むしろそれはショーそのドライブ文字の現在のディレクトリが表示されます。

しかし、Cmd.exeには両方を変更するためのショートカットがあり、/dオプションによりCD正気で働く:

cd /d e:\fonts

プッシュ/ポップコマンドはMS-DOSには存在せず、互換性の問題もないので、特別なものは必要ありません。(私は以前ドスキー別名[=pushd $*など]=popd多数。

pushd e:\fonts
...
popd

答え2

cd [drive]:\directory は、そのドライブ上の現在のディレクトリ「コンテキスト」を変更しますが、そのドライブ自体には変更しません。

その後、[drive]: と入力すると、そのドライブに変更され、以前に「cd」したディレクトリが記憶されます。

CMD は常にこのように動作しました。

PowerShell の「cd」は Set-Location のエイリアスであり、常に現在のドライブとディレクトリを変更します。

答え3

ドライブ文字を入力するだけです

C:\Users>K:

関連情報