명령 줄에 확장자없이 이름을 쓸 때 파일이 열리는 이유는 무엇입니까? 파일이 있습니다. 나는 trufflecmd

Windows 10에는 truffle.js현재 폴더에 파일이 있습니다. 나는 trufflecmd 창에 쓰고 truffle내 경로의 다른 곳에 있는 프로그램 을 호출 할 것으로 기대 합니다.

대신, truffle.js내가 좋아하는 IDE에서 .js파일 이 열립니다 ( 파일은 해당 IDE와 연결되어 있습니다). 이 동작은 실행 파일 .bat, .com및 에만 해당한다고 생각했습니다 .exe. 왜 .js파일에 발생 합니까?

참고 : 나중에 truffle경로에 전혀 설치되어 있지 않다는 것을 알았지 만 여전히 질문이 남아 있습니다. 왜 Windows가 실행 파일이 아닌 파일에 지정하지 않은 확장명을 완성합니까?

트러플을 설치하고 cmd를 다시 시작한 후에도 파일이 들어있는 폴더에서 실제 트러플을 실행할 수 없습니다 truffle.js.



답변

기본적으로 %PATHEXT%설정되어 있기 때문 입니다 .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC. 포함 방법에 유의하십시오 .js.

즉, 이름을 입력하면 CMD는 현재 폴더에서 이러한 확장자를 가진 파일을 순서대로 추가 한 파일을 찾습니다. 그 후에 만에있는 내용을 고려할 것입니다 %PATH%. 이 동작은 변경할 수 없습니다. %PATHEXT%다른 환경 변수와 마찬가지로 수정할 수 있습니다 .

WHERE명령을 사용하여 열 경로를 확인할 수 있습니다 (예 where truffle:). CMD와 동일한 방식으로 % PATH % 및 % PATHEXT %를 자동으로 검색합니다.