Невозможно изменить букву диска в командной строке (cmd), кроме C:\

Невозможно изменить букву диска в командной строке (cmd), кроме C:\

Не уверен, что могло вызвать это, но я заметил, что при использовании командной строки в Windows 10 я не могу сменить диск, используя команду cdдля любой буквы диска, кроме C:. Я также заметил, что функция автозаполнения работает нормально при попытке сменить каталог на определенную папку с целевого диска, но смена каталога просто не происходит.

Далее будут приведены скриншоты инструмента «Управление дисками» и реальные команды командной строки:

Управление диском

Командная строка

Такое поведение не применимо к 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>  _

(И обратите внимание, что когда вы используете eg cd e:на своем снимке экрана, это неизменятьчто угодно, скорее этопоказывает(Вы текущий каталог для этой буквы диска.)

Однако Cmd.exe имеет ярлык для изменения обоих параметров – /dопция делаетCDработайте разумно:

cd /d e:\fonts

Thepushd/popdкоманды не требуют ничего дополнительного, так как их не было в MS-DOS и они не обременены совместимостью. (Я использовалдоскипсевдонимы [=pushd $*и ]=popdмногое другое.)

pushd e:\fonts
...
popd

решение2

cd [диск]:\каталог изменит «контекст» текущего каталога на этом диске, но не перейдет на сам этот диск.

Если впоследствии вы просто введете [диск]:, произойдет переход на этот диск и запомнится каталог, в который вы ранее перешли с помощью команды «cd».

CMD всегда вела себя подобным образом.

«cd» в PowerShell — это псевдоним Set-Location, который всегда изменяет текущий диск и каталог.

решение3

Просто введите букву диска.

C:\Users>K:

Связанный контент