Fluke 또는 명명 오류

Fluke 또는 명명 오류

my 디렉토리 아래에 C:\Users\ME이라는 디렉토리가 있습니다 C:\Users\ME\Invoices. 내가 장부 관리와 그 밖의 모든 것을 보관하는 곳입니다. 그런데 파일을 하나 만들어서 *.bat이름을 Invoices.bat. 모든 사람이 이것이 어디로 가는지 알고 있을 것이라고 확신합니다. 파일에는 다음 스크립트가 있습니다.

start C:\Users\ME\Invoices

어떤 이유로 Windows CMD가 루프에 들어가 CMD의 프롬프트를 계속 생성했습니다. 다행히 컴퓨터는 충돌하지 않고 창문을 닫았습니다. 그러나 이 문제는 내 PATH=C:\Users\ME. 시스템이 무엇을 시작해야 할지 혼란스러웠나요? 아니면 이름이 똑같아서 우연히 *.bat파일 이름을 다음으로 변경했는데 Bookkeeping.bat제대로 실행되었나요? 이 문제에 대한 귀하의 생각을 알고 싶습니다. 우연 또는 동명 오류입니다. 나는 explorer.exe가 실행 중일 때와 실행되지 않을 때 모두 시도했다는 점을 지적하고 싶습니다.

답변1

에서start

첫 번째 토큰에 확장이 포함되지 않은 명령줄을 실행하면 CMD.EXE는 PATHEXT 환경 변수의 값을 사용하여 찾을 확장과 순서를 결정합니다. PATHEXT 변수의 기본값은 다음과 같습니다.

    .COM;.EXE;.BAT;.CMD

Notice the syntax is the same as the PATH variable, with
semicolons separating the different elements.

그리고 또한

실행 파일을 검색할 때 확장명이 일치하지 않으면 이름이 디렉터리 이름과 일치하는지 확인합니다. 그렇다면 START 명령은 해당 경로에서 Explorer를 시작합니다. 명령줄에서 수행하는 경우 해당 경로에 대해 CD /D를 수행하는 것과 같습니다.

네, 파일 이름이 폴더 이름과 일치하기 때문입니다.

관련 정보