Windows 명령줄(cmd.exe)이 "cd\"를 유효한 명령으로 해석하는 이유는 무엇입니까?

Windows 명령줄(cmd.exe)이 "cd\"를 유효한 명령으로 해석하는 이유는 무엇입니까?

표준 Windows 명령줄(cmd.exe)에서 cd\ 명령을 사용하여 현재 드라이브의 루트로 이동할 수 있습니다(cd 뒤에 공백 없이 백슬래시가 옴).

PowerShell을 사용하면 cmdlet에 대한 문자열 별칭을 정의할 수 있지만 cd\ 명령은 표준 cmd.exe에서 제대로 작동하므로 PowerShell 별칭이 아닙니다.

이는 대상 디렉토리를 명령 자체에 대한 매개변수로 지정하는(예상대로 명령과 매개변수 사이에 공백이 있음) cd 명령의 보다 표준적인 사용에 대한 내장된 바로 가기입니까?

답변1

PowerShell을 사용하면 cmdlet에 대한 문자열 별칭을 정의할 수 있지만 cd\ 명령은 표준 cmd.exe에서 제대로 작동하므로 PowerShell 별칭이 아닙니다.

CMD의 표준 형식이라고 해서 PS의 별칭이 아니라는 의미는 아닙니다. 실제로 PS에서도 작동하는 CMD의 거의 모든 "표준 명령"은 별칭입니다. CD는 의 별칭입니다 set-location.

명령을 사용하여 get-alias cd이것과 다른 놀라운 트릭을 배우십시오!

CD\유효한 명령인지는 슈퍼유저가 대답할 수 있는 질문이 아닙니다.

업데이트

CMD는 아무것도 하기 위해 PS를 로드할 필요가 없습니다.

귀하의 의견을 읽으면서 가장 먼저 인식해야 할 것은 CD\가 PS가 등장하기 오래 전에 CMD에서 이런 식으로 작동했다는 것입니다. 따라서 PS는 잊어버리십시오. PS를 혼동시키는 것은 혼란을 가져오는 것입니다. 아직도 PS를 잊으셨나요? (여기서 정답은 "예"입니다.)좋은.

Lùu Vĩnh Phúc이 자신의 의견에서 언급했듯이 명령 문자열은 다양한 방법과 여러 가지 이유로 이스케이프될 수 있습니다.이를 수행하는 것은 개별 명령 구문 분석기, 호스트 시스템, 특정 명령, 이러한 모든 것을 개발한 사람이나 팀 또는 조직에 달려 있으며 다른 이유도 있을 수 있습니다.

관련 정보