2010-04-27 15:35:09 +0000 2010-04-27 15:35:09 +0000
235
235

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

Это может быть глупым вопросом, и я думаю, что искал ответ в другом месте… Может быть, это вопрос пути, но когда я открываю командную строку и печатаю из C:\>:

cd D:\

, я не могу добраться до диска D. Даже если я введу:

cd D:\<folder name>

command.exe автоматически заполнит строку клавишей табуляции, чтобы она знала, где я нахожусь. Он просто не печатает, чтобы показать результат, или чтобы я действительно добрался туда. Эта проблема существует и для сетевых дисков.

Теперь, если я использую команду chdir (cd) следующим образом:

chdir D: или cd d:

, я получаю распечатку из D: Это может быть глупым вопросом, и я думаю, что искал ответ в другом месте... Может быть, это вопрос пути, но когда я открываю командную строку и печатаю изC:>`:

cd D:\

, я не могу добраться до диска D. Даже если я введу:

cd D:\<folder name>

command.exe автоматически заполнит строку клавишей табуляции, чтобы она знала, где я нахожусь. Он просто не печатает, чтобы показать результат, или чтобы я действительно добрался туда. Эта проблема существует и для сетевых дисков.

Теперь, если я использую команду chdir (cd) следующим образом:

chdir D: или cd d:

, я получаю распечатку из под командой, но в ней все равно написано, что я в C: Это может быть глупым вопросом, и я думаю, что искал ответ в другом месте... Может быть, это вопрос пути, но когда я открываю командную строку и печатаю изC:>`:

cd D:\

, я не могу добраться до диска D. Даже если я введу:

cd D:\<folder name>

command.exe автоматически заполнит строку клавишей табуляции, чтобы она знала, где я нахожусь. Он просто не печатает, чтобы показать результат, или чтобы я действительно добрался туда. Эта проблема существует и для сетевых дисков.

Теперь, если я использую команду chdir (cd) следующим образом:

chdir D: или cd d:

, я получаю распечатку из D: Это может быть глупым вопросом, и я думаю, что искал ответ в другом месте... Может быть, это вопрос пути, но когда я открываю командную строку и печатаю изC:>`:

cd D:\

, я не могу добраться до диска D. Даже если я введу:

cd D:\<folder name>

command.exe автоматически заполнит строку клавишей табуляции, чтобы она знала, где я нахожусь. Он просто не печатает, чтобы показать результат, или чтобы я действительно добрался туда. Эта проблема существует и для сетевых дисков.

Теперь, если я использую команду chdir (cd) следующим образом:

chdir D: или cd d:

, я получаю распечатку из под командой, но в ней все равно написано, что я в .

я чувствую, что мне не хватает чего-то простого.

Ответы (9)

334
334
334
2010-04-27 15:38:06 +0000

Возвращаясь ко временам DOS, для каждого диска есть отдельный “текущий каталог”. cd D:\foldername меняет D: текущий каталог на указанное имя папки, но не меняет того факта, что вы все еще работаете с диском C:.

Все, что вы хотите, просто:

D:

Здесь вы можете увидеть, как работает “отдельный текущий каталог для каждого диска”:

C:\Users\coneslayer>e:

E:\>c:

C:\Users\coneslayer>cd e:\software

C:\Users\coneslayer>e:

e:\Software>
78
78
78
2012-01-19 14:17:48 +0000

Она did работает, так как команда предназначена для работы.

Вы просто не знаете, как она на самом деле должна работать.

Вы не используете оболочку Unix или Linux. Команда cd в командном интерпретаторе Microsoft не ведет себя так, как ведут себя команды cd в таких оболочках. Она ведет себя несколько иначе. В частности, it не всегда меняет директорию. В оболочках Unix и Linux cd всегда только устанавливает рабочий каталог. В командном интерпретаторе Microsoft, cd иногда запрашивает его. Отдельной команды pwd нет, поэтому cd делает два задания.

Если вы не даете аргументов, или аргумент, который является просто буквой диска и двоеточием без указания пути, то it сообщает о текущем каталоге вместо того, чтобы изменять его. Если вы не приводите аргументов, то _it сообщает текущую директорию текущего диска командного интерпретатора процесса. Если в качестве аргумента указать только букву диска и двоеточие, то _it сообщает текущий каталог этого диска командного интерпретатора. Каждый диск имеет свой текущий каталог в командном интерпретаторе. (Это выдумка, поддерживаемая библиотеками времени выполнения для реализаций Microsoft и некоторых других производителей различных языков программирования. Сама по себе Win32 так не работает)

Так что, когда вы дали ей d: в качестве аргумента, она сообщила вам текущую директорию командного интерпретатора процесса на диске D, которая оказалась `D:## Она did работает, так как команда предназначена для работы.

Вы просто не знаете, как она на самом деле должна работать.

Вы не используете оболочку Unix или Linux. Команда cd в командном интерпретаторе Microsoft не ведет себя так, как ведут себя команды cd в таких оболочках. Она ведет себя несколько иначе. В частности, it не всегда меняет директорию. В оболочках Unix и Linux cd всегда только устанавливает рабочий каталог. В командном интерпретаторе Microsoft, cd иногда запрашивает его. Отдельной команды pwd нет, поэтому cd делает два задания.

Если вы не даете аргументов, или аргумент, который является просто буквой диска и двоеточием без указания пути, то it сообщает о текущем каталоге вместо того, чтобы изменять его. Если вы не приводите аргументов, то _it сообщает текущую директорию текущего диска командного интерпретатора процесса. Если в качестве аргумента указать только букву диска и двоеточие, то _it сообщает текущий каталог этого диска командного интерпретатора. Каждый диск имеет свой текущий каталог в командном интерпретаторе. (Это выдумка, поддерживаемая библиотеками времени выполнения для реализаций Microsoft и некоторых других производителей различных языков программирования. Сама по себе Win32 так не работает)

Так что, когда вы дали ей d: в качестве аргумента, она сообщила вам текущую директорию командного интерпретатора процесса на диске D, которая оказалась . Если бы вы вообще не приводили аргументов, он бы сообщил вам `C:## Она did работает, так как команда предназначена для работы.

Вы просто не знаете, как она на самом деле должна работать.

Вы не используете оболочку Unix или Linux. Команда cd в командном интерпретаторе Microsoft не ведет себя так, как ведут себя команды cd в таких оболочках. Она ведет себя несколько иначе. В частности, it не всегда меняет директорию. В оболочках Unix и Linux cd всегда только устанавливает рабочий каталог. В командном интерпретаторе Microsoft, cd иногда запрашивает его. Отдельной команды pwd нет, поэтому cd делает два задания.

Если вы не даете аргументов, или аргумент, который является просто буквой диска и двоеточием без указания пути, то it сообщает о текущем каталоге вместо того, чтобы изменять его. Если вы не приводите аргументов, то _it сообщает текущую директорию текущего диска командного интерпретатора процесса. Если в качестве аргумента указать только букву диска и двоеточие, то _it сообщает текущий каталог этого диска командного интерпретатора. Каждый диск имеет свой текущий каталог в командном интерпретаторе. (Это выдумка, поддерживаемая библиотеками времени выполнения для реализаций Microsoft и некоторых других производителей различных языков программирования. Сама по себе Win32 так не работает)

Так что, когда вы дали ей d: в качестве аргумента, она сообщила вам текущую директорию командного интерпретатора процесса на диске D, которая оказалась `D:## Она did работает, так как команда предназначена для работы.

Вы просто не знаете, как она на самом деле должна работать.

Вы не используете оболочку Unix или Linux. Команда cd в командном интерпретаторе Microsoft не ведет себя так, как ведут себя команды cd в таких оболочках. Она ведет себя несколько иначе. В частности, it не всегда меняет директорию. В оболочках Unix и Linux cd всегда только устанавливает рабочий каталог. В командном интерпретаторе Microsoft, cd иногда запрашивает его. Отдельной команды pwd нет, поэтому cd делает два задания.

Если вы не даете аргументов, или аргумент, который является просто буквой диска и двоеточием без указания пути, то it сообщает о текущем каталоге вместо того, чтобы изменять его. Если вы не приводите аргументов, то _it сообщает текущую директорию текущего диска командного интерпретатора процесса. Если в качестве аргумента указать только букву диска и двоеточие, то _it сообщает текущий каталог этого диска командного интерпретатора. Каждый диск имеет свой текущий каталог в командном интерпретаторе. (Это выдумка, поддерживаемая библиотеками времени выполнения для реализаций Microsoft и некоторых других производителей различных языков программирования. Сама по себе Win32 так не работает)

Так что, когда вы дали ей d: в качестве аргумента, она сообщила вам текущую директорию командного интерпретатора процесса на диске D, которая оказалась . Если бы вы вообще не приводили аргументов, он бы сообщил вам .

Если вы хотите, чтобы команда cd в always была в режиме set mode и никогда не была в режиме request, вам нужно добавить к ней опцию /D. Это заставляет команду всегда быть в режиме установки, а также расширяет ее так, чтобы она изменяла текущий диск, а также изменяла текущую директорию диска. (Другими словами, это больше похоже на то, что делает Win32 API)

Так, например, командная строка

cd /d d:

изменит каталог на любой текущий каталог на диске D, а также изменит текущий диск на диск D.

Если вы хотите изменить текущий диск процесса командного интерпретатора иначе, то команда cd - это не тот путь. Вы делаете это, просто вводя букву диска и двоеточие:

d:

Дальнейшее чтение

  • JP Software (2011). CD/CHDIR TCC On-line Help.
  • корпорация Microsoft (2001). Chdir (CD) . TechNet Windows XP Ссылка на командную строку A-Z.
55
55
55
2010-04-27 16:28:25 +0000

Боюсь, это неправильно. Это верно со времен DOS, но командная строка в Windows NT и более поздних версиях не DOS. В командной строке, которую все используют сегодня, есть переключатель /D. Переключатель /d изменит текущий каталог указанного диска И перейдет в этот каталог. Переключатель /d должен быть указан перед путём. Например:

C:\> cd /d D:\foo\bar\
D:\foo\bar\>

20
20
20
2012-01-19 07:58:57 +0000

CD означает C hange D irectory, а не Change Drive. Таким образом, он не изменится на D: вот так. Для этого нужно просто ввести букву диска

, например

d:.

9
9
9
2012-01-19 08:12:06 +0000

Рабочая директория в cmd.exe поддерживается на основе volume-by-volume; Рабочая директория для диска C: отличается от рабочей директории для диска D:.

Когда вы передаете только букву диска cd, он будет печатать рабочую директорию для указанного диска.

В вашем случае, рабочей директорией диска D: является сам корень тома, D:Рабочая директория в cmd.exe поддерживается на основеvolume-by-volume; Рабочая директория для дискаC:отличается от рабочей директории для дискаD:`.

Когда вы передаете только букву диска cd, он будет печатать рабочую директорию для указанного диска.

В вашем случае, рабочей директорией диска D: является сам корень тома, .

Чтобы изменить тома с C: на D:, просто введите букву диска:

C:\>D:
D:\>
```.
8
8
8
2012-01-19 13:33:59 +0000

Для этого используйтеcd /D D:. Вы также можете указать пути.

5
5
5
2012-01-19 15:52:42 +0000

Если вы хотите изменить диск в интерпретаторе команд DOS, то вы просто должны написать:

[Drive Letter]:

Например, если вы хотите перейти на диск D:\, то вы должны просто набрать в интерпретаторе команд следующие строки:

D:
2
2
2
2016-07-27 21:59:20 +0000

pushd работает, даже когда вам нужно перейти в подкаталог диска, например D:\Tests\Logs.

Просто используйте его так:

pushd D:\Tests\Logs

Если вы хотите вернуться в предыдущий каталог используйте popd:

C:\Users>pushd D:\Tests\Logs
D:\Tests\Logs>popd
C:\Users>
0
0
0
2016-06-23 22:24:36 +0000

Пока вы будете искать опции в панели инструментов и искать команду или выбирать windows All app, выбирая командную строку, затем она переходит в какую-нибудь другую командную строку. Вместо этого попробуйте нажать кнопку windows + R и выполнить поиск команды на диске C:>. Оттуда вы можете перейти на D:> или куда угодно.

Похожие вопросы

3
19
10
28
11