CMD.EXE 내부 명령이 아닌 PATH에서 Windows가 .EXE를 사용하도록 설정


9

내부 명령과 이름이 같은 명령을 실행할 때 Windows는 경로에서 검색하는 대신 CMD.EXE에있는 명령을 사용합니다.

예를 들어 MKDIR 은에 내장 된 내부 명령 CMD.EXE입니다. 유닉스 버전과 같은 옵션을 지원하지 않습니다 (예 : -p--help). 이 옵션을 사용하면 Windows는 경로에 디렉토리에 mkdir 의 GNU 버전이 설치되어 있어도 -p 또는 --help 라는 파일을 작성합니다 .

이것은 터미널을 통해 mkdir 을 사용하는 특정 프로그램으로 작업 할 때 문제가됩니다 . 예를 들어, prose 용 gulpfile 에는 작업 디렉토리에 mkdir -p폴더 -p를 작성한 후 오류를 발생 시키는 세 가지 명령이 포함되어 있습니다. 설치된 mkdir.exe를 사용하도록 gulpfile을 수동으로 편집해야하므로 포크 크로스 플랫폼을 공유하기가 더 어려워집니다.

Windows 쉘 mkdir.exe이 CMD.EXE가 아닌 PATH에 있는 것을 사용하도록하려면 어떻게해야합니까?

답변:


14

Windows 쉘이 CMD.EXE가 아닌 PATH에있는 mkdir.exe를 사용하도록하려면 어떻게해야합니까?

실행 파일 이름을 큰 따옴표로 묶습니다. 예를 들면 다음과 같습니다.

"MKDIR"

이렇게하면 Windows에서 내부 명령을 실행하는 대신 실행 파일을 찾게됩니다. 큰 따옴표도 필요한 매개 변수가있는 경우 다음 구문을 사용하십시오.

"MKDIR" -firstParam "C:\foobar\long file name.ext"

1
또는 호출하려는 mkdir 프로그램의 전체 경로를 지정할 수 있어야합니다.
davidgo

불행히도 이것은 작동하지 않습니다. 현재 디렉터리에 ".exe"라는 새 파일이 만들어집니다. @ davidgo 전체 경로를 지정할 수 있지만 다른 사람들과 코드를 공유하는 데 문제가됩니다. 모든 사람이 mkdir을 가지고있는 것은 아닙니다 C:\Program Files (x86)\Git\bin\mkdir.exe!
umop aplsdn

2
큰 따옴표로 둘러 싸여 작동합니다! 확장명을 지정할 필요조차 없습니다 "mkdir". 감사!
umop aplsdn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.