`cd` не змінює каталог у Windows 7 [дублікат]


20

Можливий дублікат:
Використовуючи команду cd у командному рядку Windows, не вдається перейти до D: \
CMD cd до інших дисків, крім C: \ не працює

Я працюю з cmd.exeWindows 7 (на відміну від Powershell). У мене на диску 2 розділи, C містить ОС та встановлені програми, а D містить мої дані. Я намагався cdз C до D, але cmd не дозволив мені:

C:\>cd D:\

C:\>

Однак, коли я набираю текст dir D:\, він буде перераховувати вміст D правильно. Чому це робиться і як це можна виправити? Powershell працює чудово, тому я можу це використати, але хотілося б знати, що робить cmdнедобре поведінку.


Може хтось зробить тег msdos? Я думаю, що це питання справедливе для всіх версій DOS від 1.0 і вище. Якщо я правильно пам'ятаю, CP / M не мав цього поняття, але ви можете звернутись до окремих дисків, попередньо додавши диспетчер: до імені файлу. Я думаю, що це важливо, оскільки це дійсне питання для тих, хто не дожив епохи DOS, а не питання Windows 7 як такого.
Стюарт Вудвард

@StuartWoodward насправді в DOS 1.0 не було підкаталогів - вони були представлені в 2.0.
Джессі Слікер

Відповіді:


33

Ви повинні використовувати просто d: , ніcd d:\

EDIT: також можна використовувати cd /d d:для зміни приводів за допомогою cd


Я не дуже впевнений, чому прийняв таке дизайнерське рішення, і я його шукаю, але це просто так, як це було завжди.
soandos

@ astay13 див. редагувати.
soandos

1
@soandos cdозначає "змінити каталог", і D:це диск, а не каталог. Детальніше дивіться у відповіді Девіда
Ізката

@Izkata, чому ти не можеш змінити каталог в іншому диску, використовуючи той самий синтаксис, який використовується для переходу до іншої папки? це я говорив.
soandos

Він змінює каталог: напр .: C: \> cd D: \ test, чи змінює поточний каталог на диску D: для тестування, але підказка все ще знаходиться на C:
Себастьян Годелет,

28

Windows відстежує окремий робочий каталог для кожного диска. Ви зараз перебуваєте на диску "C" у робочій каталозі "\". Під час введення cd d:\він змінює ваш робочий каталог для диска "D" на "\" і не впливає на робочий каталог вашого диска C. Щоб змінити диски, просто введіть D:. Ви можете змінити обидва одночасно з /dпараметром на cd.


3
Насправді Windows, про яку запитуючий каже, що працює xe - Windows NT 6.1 - ніколи - не з 1993 року - мала окремий робочий каталог для кожного накопичувача. На один процес існує один робочий каталог. Поява декількох робочих каталогів на кількох дисках фікція підтримується командним інтерпретатором Microsoft, і під час виконання бібліотек своїх мов, використовуючи приховані змінні середовища.
JdeBP


@JdeBP Приховані змінні середовища, які відстежують окремий робочий каталог для кожного диска? І чи є перекладач команд Microsoft та бібліотеки часу виконання його мов частиною Windows?
Девід Шварц

1

Слід зазначити, що pushd(наприклад pushd D:\) завжди будуть змінювати диски.


Це було б чудово, як коментар до запитання, але не відповідає на питання.
Стюарт Вудвард
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.