C:\ 이외의 명령 프롬프트(cmd)에서 드라이브 문자를 변경할 수 없습니다.

C:\ 이외의 명령 프롬프트(cmd)에서 드라이브 문자를 변경할 수 없습니다.

cd무엇이 이 문제를 촉발했는지는 확실하지 않지만 Windows 10에서 명령 프롬프트를 사용하는 동안 C: 이외의 드라이브 문자에 대한 명령을 사용하여 드라이브를 변경할 수 없다는 것을 발견했습니다 . 또한 대상 드라이브에서 특정 폴더로 디렉터리를 변경하려고 할 때 자동 완성 기능이 제대로 작동하지만 디렉터리 변경이 발생하지 않는 것으로 나타났습니다.

디스크 관리 도구 및 실제 cmd 프롬프트 명령의 스크린샷은 다음과 같습니다.

디스크 관리

명령 프롬프트

이 동작은 PowerShell에 적용되지 않으므로 드라이브를 성공적으로 변경할 수 있습니다.

답변1

그것은 정상입니다. 역사적인 이유로, 그것은 단지CD명령은 Cmd.exe에서 작동합니다. 이는 MS-DOS COMMAND.COM에서도 작동하는 방식이기 때문입니다. 디렉토리 변경~이다기억하지만(MS-DOS처럼 Cmd가 드라이브별로 추적함), 드라이브만 입력하여 실제 드라이브를 별도로 전환해야 합니다.

C:\>  e:
E:\>  cd \fonts
E:\Fonts>  _

매우 명확하지 않더라도 그 반대도 작동합니다.

C:\>  cd e:\fonts
C:\>  e:
E:\Fonts>  _

cd e:(그리고 예를 들어 스크린샷에서 를 사용할 때 이것은 그렇지 않습니다.변화뭐든지 오히려 그게해당 드라이브 문자의 현재 디렉터리입니다.)

그러나 Cmd.exe에는 두 가지를 모두 변경할 수 있는 바로 가기가 있습니다 /d.CD정신 차리고 일해:

cd /d e:\fonts

그만큼푸시/팝명령은 MS-DOS에 없고 호환성에 대한 부담이 없기 때문에 추가 작업이 필요하지 않습니다. (제가 예전에 사용했던도스키별칭 등 [=pushd $*]=popd많이 있습니다.)

pushd e:\fonts
...
popd

답변2

cd [drive]:\directory는 해당 드라이브의 현재 디렉터리 "컨텍스트"를 변경하지만 해당 드라이브 자체로는 변경되지 않습니다.

이후에 [drive]:만 입력하면 해당 드라이브로 변경되고 이전에 "cd"한 디렉터리를 기억합니다.

CMD는 항상 이렇게 행동했습니다.

PowerShell의 "cd"는 항상 현재 드라이브와 디렉터리를 변경하는 Set-Location의 별칭입니다.

답변3

드라이브 문자를 입력하면 됩니다

C:\Users>K:

관련 정보