12

Возможный дубликат:
Используя команду cd в командной строке Windows, невозможно перейти к D:\

Почему, просто почему, cd в Windows такой глупый и не делает то, что должен делать в таких ситуациях:

I:\Documents and Settings\blah\>cd C:\somedir\
I:\Documents and Settings\blah\>

Я знаю, что вы можете chdir /d . Но почему это не поведение по умолчанию?

4 ответа4

20

Это по замыслу. Каждый "диск" имеет свой рабочий каталог. Вы можете использовать chdir или просто ввести букву диска:

> D:

И это изменится на диск D. Если вы хотите узнать, почему существует такое поведение, см . Объяснение Рэймонда Чена.

9

В Windows можно использовать родной cd/d <drive>:<path> а также chdir/d или pushd. Это параметр /d который указывает, что диск также должен измениться. Команда pushd делает это по умолчанию.

Может даже псевдоним cd сделать так, чтобы поведение по умолчанию было примерно таким:

doskey cd=chdir/d $*

Тогда можете использовать такие вещи, как:

cd D:\Temp
cd C:\WINDOWS

и диск также изменится.

Смотрите помощь, введя cd/? Больше подробностей.

2

Это историческая вещь. cd изменяет только текущий каталог на указанном диске (текущий, если его нет), а <drive>: заменяет диски на папку на этом диске, которая была cd 'd ранее (\ если нет)

1

некоторые сторонние оболочки - например, 4dos имеет команду CDD для этого

Вы можете создать пакетный файл с именем «cdd.bat» в вашем основном каталоге Windows со следующей строкой:

@cd /d %1 %2 %3 %4 %5 %6 %7 %8 %9

Теперь вы можете сделать следующее с помощью новой команды CDD:

C:> CDD D:

D:> cdd c:\ документы и настройки

C:\Documents and Settings> cdd d:\data

D:\ данные>

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .