Windows 명령 행에서 cd ​​명령을 사용하면 D : \로 이동할 수 없습니다


226

이것은 어리석은 질문 일 수 있으며 대답을 찾기 위해 다른 곳을 찾았다 고 생각합니다 ... 경로 문제 일 수 있지만 명령 줄을 열고 다음에서 입력하면 C:\>:

cd D:\

D 드라이브에 접근 할 수 없습니다. 내가 입력하더라도 :

cd D:\<folder name>

command.exe의지 탭 키를 사용하여 라인을 자동으로 완료, 내가 어디에 있어요 그것을 알고있다. 결과를 스크린하기 위해 인쇄하지 않거나 실제로 거기에 도착합니다. 이 문제는 네트워크 드라이브에도 존재합니다.

이제 chdir( cd) 명령을 다음과 같이 사용하면

chdir D: 또는 cd d:

D:\아래 명령 에서 인쇄물을 얻었 지만 여전히에 있습니다 C:\.

간단한 것이 빠진 것 같습니다.


나는 이런 상황에서 훨씬 잘 작동하기 때문에 거의 모든 pushd곳 에서 사용 하고 cd있습니다.
Goyuix

5
이 답변보기 " cd / d D : " superuser.com/a/135239/78897
Pacerier

1
cd / dd :
DevWL

답변:


324

DOS 시절로 돌아 가면 각 드라이브마다 별도의 "현재 디렉토리"가 있습니다. cd D:\foldernameD :의 현재 디렉토리를 지정된 폴더 이름으로 변경하지만 여전히 C:드라이브에서 작업하고 있다는 사실은 변경하지 않습니다 .

원하는 것은 간단합니다.

D:

다음은 "각 드라이브에 대해 별도의 현재 디렉토리"가 어떻게 작동하는지 볼 수 있습니다

C:\Users\coneslayer>e:

E:\>c:

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

C:\Users\coneslayer>e:

e:\Software>

16
"서쪽에서 가장 빠른 총"상황에서 승자는 가장 잘 설명하는 사람입니다. +1하고 비슷한 답변을 삭제합니다.
Gnoupi

2
내 것도 삭제했습니다. 불필요한 혼란이 필요 없습니다.
th3dude

3
-1 a) 당신은 그 cd e:\software선이 아무 것도하지 않았다고 지적 하지 않았습니다. 마치 팬텀 CD 명령을 넣은 것처럼 왜? CD를 사용하지 않았을 때 CD를 사용한다고 생각하게하려면? 와 b) 당신은 언급하지 수있는 방법을이 땅에서 /d그는 말 했는가 다른 드라이브에 특정 디렉토리에 CDing 수 있도록 cd 명령을 사용하여 당신이 그것이 CD 명령없이 할 수있는 방법을 지적하는 것이 좋은 반면, 그래서 d:<ENTER>, 당신이에 대해 언급한다 CD 명령 cd /d d:또는cd /d d:\blah
barlop

3
@barlop cd E:\software아무것도하지 않습니다. E 파티션 의 현재 디렉토리 software 폴더로 변경합니다 . 폴더를 사용하여 E 파티션으로 전환 할 때 보여줍니다 E:. cd / d와 함께 좋은 제안.
miyalys

@miyalys 흥미롭고 좋은 점
barlop

78

그것은 명령이 작동하도록 설계로, 일을.

실제로 어떻게 작동해야하는지 모릅니다.

Unix 또는 Linux 셸 프로그램을 사용하고 있지 않습니다. cd는 AS 마이크로 소프트의 명령 인터프리터에서 명령이 작동하지 않는 cd등의 껍질에 명령 할. 다소 다르게 동작합니다. 특히, 항상 directory 변경하지는 않습니다 . 유닉스와 리눅스 셸에서는 cd작업 디렉토리 만 설정합니다. Microsoft의 명령 인터프리터에서 cd때때로 쿼리합니다. 별도의 pwd명령이 없으므로 cd두 가지 작업도 수행됩니다.

인수가 없거나 경로가없는 드라이브 문자 및 콜론 인 인수는 제공하지 않고 현재 디렉토리를보고합니다 . 인수를 제공하지 않으면 명령 인터프리터 프로세스의 현재 드라이브의 현재 디렉토리를보고합니다. 드라이브 문자와 콜론 만 인수로 제공하면 명령 해석기 프로세스의 해당 드라이브 디렉토리를보고합니다. 각 드라이브에는 명령 인터프리터에 고유 한 현재 디렉토리가 있습니다. (이것은 Microsoft 및 기타 여러 공급 업체의 다양한 프로그래밍 언어 구현을위한 런타임 라이브러리에 의해 유지되는 허구입니다. Win32 자체는이 방식으로 작동하지 않습니다.)

따라서 d:인수로 주었을 때 D 드라이브의 명령 인터프리터 프로세스의 현재 디렉토리를보고했습니다 D:\. 당신이 전혀 주장을하지 않았다면, 그것은 C:\당신 에게보고되었을 것 입니다.

당신이 원하는 경우 cd명령을 항상 설정 모드에 쿼리 모드에서 결코 당신은 추가 할 필요가 /D여기에 옵션을 선택합니다. 이렇게하면 명령이 항상 설정 모드가되며 드라이브의 현재 디렉토리를 변경하고 현재 드라이브를 변경하도록 명령이 확장됩니다. 즉, 기본 Win32 API가 실제로 작동하는 것과 더 유사하게 작동합니다.

예를 들어 명령 줄

cd / dd :
D 드라이브의 현재 디렉토리로 디렉토리를 변경하고 D 드라이브로 현재 드라이브를 변경합니다.

그렇지 않으면 명령 인터프리터 프로세스의 현재 드라이브를 변경하려면 cd명령이 진행되지 않습니다. 드라이브 문자와 콜론을 입력하면됩니다.

디:

추가 자료

  • JP 소프트웨어 (2011). CD / CHDIR TCC 온라인 도움말.
  • Microsoft Corporation (2001). Chdir (CD) . TechNet Windows XP 명령 행 참조 A–Z.


3
완전하지 않습니다. 그렇게 cd d:\ 하면의 작업 디렉토리가 변경됩니다 d:. 당신이 d:\ 나중에 할 경우에있을 것 d:\ 입니다. 당신이하지 cd d:\something\something않으면 처음 에는 아무 일도 일어나지 않을 것입니다. 그러나 d:\ 나중에 다시하면 경로가 될 것입니다 d:\something\something"!
sinni800

4
어느 쪽도 위에 쓰여진 내용과 모순되지 않습니다 sinni800(현재 드라이브를 잘못 변경하는 구문을 얻는 것 외에는 간과 할 것입니다). 나는 (a) 질문에 관한 것이 아니고 (b) 더 읽을 거리에 있기 때문에 논증에 경로 이름을 제공 할 때 발생하는 일에 대한 토론을 포함하지 않았습니다.
JdeBP

6
아니, 아니야 여기에서 드라이브 대신 파티션에 대해 이야기하는 것은 잘못된 것 user unknown입니다. 우선 파티션은 볼륨과 같지 않으며 드라이브 문자는 파티션이 아닌 볼륨에 매핑됩니다. 그리고이 추상화 수준에서 이야기 할 때 여기에 사용 된 추가 문자 와 도움말 텍스트 에서 드라이브 문자현재 드라이브 가 일반적인 용어 cd /?입니다.
JdeBP

2
나는이 명령을 최소한 20 년 동안 사용해 왔으며 이것을 전혀 몰랐습니다.
Chris Ballance

54

이것이 잘못된 것 같습니다. DOS 시절부터는 사실이지만 Windows NT 이상의 명령 행은 DOS가 아닙니다. 오늘날 모든 사람이 사용하는 명령 줄에는 / D 스위치가 있습니다. / d 스위치는 지정된 드라이브의 현재 디렉토리를 변경하고 해당 디렉토리로 변경합니다. 경로 앞에 / d 스위치를 지정해야합니다. 예를 들면 다음과 같습니다.

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

Windows 명령 프롬프트 CD


4
+1 새로운 것을 배웠기 때문에 내가 쓴 것이 잘못되었다고 생각하지 않습니다.
coneslayer

3
귀하의 답변도 정확합니다. Multiverse IT이지만 coneslayer는 올바르지 않습니다. 당신의 노력에 감사드립니다. 나는이 질문에 대한 두 가지 큰 트릭을 배웠습니다.
nicorellius

2
내 관점에서 "원하는 것은 간단하다 ... D :"가 틀렸다. 예, 그것은 효과가 있으며 목표를 달성하는 유효한 방법이지만, 그가 원하는 것을 엄격히 말하지는 않습니다. 또한 주석의 표현 방식은 CD를 사용하여이를 수행 할 수 없음을 의미합니다. 의미는 올바르지 않습니다.
Multiverse IT

1
그의 주요 문제는 "D 드라이브에 접근 할 수 없습니다"입니다. 따라서 다른 대답은 맞습니다. 귀하의 솔루션은 단순히 한 걸음 더 적게 걸립니다 (좋습니다). 다른 것을 잘못 만들지는 않습니다.
Gnoupi

1
흠, "그가 원하는 것" 다소 추정되는 소리 ;-)
nicorellius

20

CD는 의미 의 C hange의 D의 irectory 및 드라이브를 변경하지. 따라서 D로 변경되지 않습니다. 이를 위해서는 드라이브 문자를 입력해야합니다.

예 :

디:


16
cd / DD : 드라이브 및 디렉토리 변경 ...
Michael S.

그러나 d :는 드라이브가 아니라 파티션입니다.
사용자가 알 수 없음

1
@userunknown 쉘이 디자인 된 Dos 1.0 시대에는 AFAIK를 파티션 할 수없는 플로피 디스크 만있었습니다. 초기 hardrive 지원은 드라이브의 1 차 (첫 번째) 파티션에 대해서만 지원되었습니다. 확장 파티션 지원은 나중에 추가되지 않았습니다.
Dan Neely

MS-DOS 1.0 태그 나 1.0에 대한 언급이 없습니다. MS-DOS 프로그램으로 드라이브를 분할 할 수는 없지만 파티션 된 드라이브에 MS-DOS를 설치할 수 있습니다. 많은 사용자가 cmd.exe와 MS-DOS가 같은 것을 의미한다고 생각하기 때문에 MS-DOS는 지원되지 않으며 태그가 있습니다. Apropos : MS-DOS 1.0은 공개되지 않았습니다.
사용자가 알 수 없음

1
@userunknown 디자인 결정은 DOS 초기 버전으로 거슬러 올라갑니다. 동작 변경으로 인해 이전 프로그램이 손상되었을 수 있습니다 (아래 Daniel Beck의 의견 참조). 추신; Wikipedia에 따르면 MS DOS 1.x가 발표되었습니다.
Dan Neely

9

cmd.exe의 작업 디렉토리는 기본적으로 유지 관리 volume-by-volume됩니다. 의 작업 디렉토리 C:드라이브는의 작업 디렉토리와 다른 D:드라이브.

에 드라이브 문자 만 전달 cd하면 지정된 드라이브의 작업 디렉토리가 인쇄됩니다.

귀하의 경우 D:드라이브 의 작업 디렉토리 는 볼륨 루트 자체 D:\입니다.

에서 볼륨을 변경하려면 C:D:단순히 드라이브 문자를 입력합니다 :

C:\>D:
D:\>

2
cd / DD : 드라이브 및 디렉토리 변경 ...
Michael S.

1
파티션은 드라이브 문자에 매핑되며 드라이브와 거의 동일합니다. 디렉토리 또는 공유를 드라이브에 맵핑 할 수도 있으며 동일하게 작동합니다.
Marty Fried

8

cd / DD : 를 사용하십시오 . 경로도 지정할 수 있습니다.


5

DOS 명령 프롬프트에서 드라이브를 변경하려면 다음과 같이 작성하면됩니다.

[Drive Letter]:

예를 들어 D : \ 드라이브로 이동하려면 명령 프롬프트에 다음을 입력하면됩니다.

D:

로 파티션을 변경 [Drive Letter]:하거나, 믿거 나 시험해보십시오!
사용자가 알 수 없음

오 와우, 그게 일을 훨씬 더 쉽게 만들어줍니다. 나는 항상 잊어 /d버려서 훨씬 빠르게 전환합니다.
Mateen Ulhaq

2

pushd하위 디렉토리로 이동 해야하는 경우에도 작동합니다 (예 :) D:\Tests\Logs.

그냥 사용하십시오 :

pushd D:\Tests\Logs

이전 디렉토리로 돌아가려면 다음을 사용하십시오 popd.

C:\Users>pushd D:\Tests\Logs
D:\Tests\Logs>popd
C:\Users>

0

도구 모음에서 옵션을 검색하고 cmd를 검색하거나 Windows의 모든 앱을 선택하여 명령 프롬프트를 선택하면 다른 명령 프롬프트가 사용됩니다. 대신 Windows 버튼 + R을 눌러 C :> 드라이브로 이동하는 cmd를 검색하십시오. 거기에서 D :> 또는 필요한 곳으로 이동할 수 있습니다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.