
Возможный дубликат:
Используя команду cd в командной строке Windows, не удается перейти на D:\
Почему, почему cd
в Windows он такой тупой и не делает то, что должен делать в таких ситуациях:
I:\Documents and Settings\blah\>cd C:\somedir\
I:\Documents and Settings\blah\>
Я знаю, что можно chdir /d
. Но почему это не поведение по умолчанию?
решение1
Это сделано намеренно. Каждый "диск" имеет свой собственный рабочий каталог. Вы можете использовать chdir
, или просто ввести букву диска:
> D:
И это изменится на диск D. Если вы хотите узнать, почему существует такое поведение, см.Объяснение Рэймонда Чена
решение2
В Windows можно использовать роднойcd/d <drive>:<path>
или ещеchdir/d
илиpushd
. Это/d
опция, которая указывает, что диск также должен быть изменен.pushd
команда делает это по умолчанию.
Можно даже сделать псевдоним cd поведением по умолчанию, например так:
doskey cd=chdir/d $*
Затем можно использовать такие вещи, как:
cd D:\Temp
cd C:\WINDOWS
и привод тоже изменится.
Чтобы просмотреть справку, введитеcd/?
Больше подробностей.
решение3
Это историческая вещь. cd
изменяет только текущий каталог на указанном диске (текущий, если его нет), и <drive>:
изменяет диски на папкуна этом дискекоторый был cd
сделан ранее ( \
если нет)
решение4
некоторые сторонние оболочки, например 4dos, имеют команду CDD для этого
Вы можете создать пакетный файл с именем «cdd.bat» в главном каталоге Windows, используя следующую строку:
@cd /d %1 %2 %3 %4 %5 %6 %7 %8 %9
Теперь с помощью новой команды CDD вы можете сделать следующее:
C:>cdd d:
D:>cdd c:\documents and settings
C:\Documents and Settings>cdd d:\data
D:\data>