'내부 또는 외부 명령이 아닙니다' 오류와 엉뚱한 버전 실행 — where로 PATH 직접 확인
명령 프롬프트의 '내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다' 오류와 다른 버전이 실행되는 문제를 where 명령으로 추적했습니다. python 실행 파일 4개가 걸린 PATH 순서, py -0으로 버전 고르기, PATH 60개 항목까지 화면과 함께 정리했습니다.
명령 프롬프트에서 뭔가를 입력했는데 "…은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다." 가 뜨는 경우가 있다. 반대로 명령은 실행되는데 내가 생각한 것과 다른 버전이 실행되는 경우도 있다. 둘 다 원인은 같다. 윈도우가 프로그램을 찾는 경로 목록(PATH)이다. 이 PC에서 직접 확인해 보니 python 하나에 실행 파일이 4개나 걸려 있었다.
오류 메시지 그대로 보기
없는 명령을 일부러 쳐 봤다.
nothingcmd

- "'nothingcmd'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다."
이 메시지는 명령 프롬프트가 그 이름의 프로그램을 어디에서도 찾지 못했다는 뜻이다. 프로그램이 정말 없을 수도 있다. 설치는 돼 있는데 찾는 경로(PATH)에 그 폴더가 없을 수도 있다. 그리고 의외로 흔한 원인이 명령 이름 오타다. 앞글자 하나만 빠져도(findstr → dstr) 똑같은 메시지가 뜬다.
where — 어떤 파일이 실행되는지 찾기
명령 프롬프트가 어느 파일을 실행하는지는 where 로 확인한다. 마이크로소프트 문서(where)에 따르면 where 는 기본적으로 현재 폴더와 PATH 환경 변수의 경로를 검색한다.
where python
- 이 PC에서는 결과가 4줄이었다.
C:\Python314\python.exe- 사용자 폴더 아래
...\Programs\Python\Python312\python.exe - 사용자 폴더 아래
...\Programs\Python\Python310\python.exe - 사용자 폴더 아래
...\Microsoft\WindowsApps\python.exe
여러 개가 나오면 맨 위 줄이 실제로 실행되는 파일이다. PATH에 먼저 적힌 폴더부터 찾기 때문이다. 확인 삼아 버전을 물어봤다.
python --version
- Python 3.14.0 — 맨 위 줄
C:\Python314의 파이썬이 실행됐다.
마지막 줄의 WindowsApps\python.exe 는 실제 파이썬이 아니라 윈도우가 넣어 둔 바로 가기 성격의 파일(앱 실행 별칭)이다. PATH에서 뒤쪽에 있어서 이 PC에서는 실행되지 않았다. 만약 이게 맨 위에 온다면 python 을 입력했을 때 엉뚱하게 스토어 쪽으로 연결될 수 있다.
버전이 여러 개라면 py 런처로 고르기
파이썬을 여러 버전 깔아 두었다면 파이썬 공식 문서(윈도우에서 파이썬 사용하기)에 나오는 py 런처가 편하다. py -0 은 설치된 버전 목록을 보여 준다(문서에 따르면 예전 런처와의 호환을 위해 유지되는 명령이다).
py -0
- -V:3.14 * / -V:3.12 / -V:3.10 — 세 버전이 잡혔고,
*가 붙은 3.14가 기본값이다. 특정 버전으로 실행하고 싶으면py -3.12처럼 버전을 지정하면 된다. PATH 순서와 상관없이 원하는 버전을 고를 수 있다.
PATH가 얼마나 긴가
PATH에 몇 개의 경로가 들어 있는지도 세어 봤다.
where git
where node
powershell -NoProfile -Command "($env:Path -split ';').Count"

git도 2개가 걸렸다(Git\cmd\git.exe가 먼저). 설치 프로그램이 경로를 두 군데 넣은 경우다.node는 1개.- PATH 항목은 60개였다. 프로그램을 설치할 때마다 경로가 하나씩 붙다 보니 이렇게 길어진다. 길수록 "같은 이름의 다른 파일이 먼저 걸리는" 일이 생기기 쉽다.
오류별로 할 일
| 증상 | 원인 | 확인 |
|---|---|---|
| "내부 또는 외부 명령…이 아닙니다" | 오타, 미설치, PATH에 폴더 없음 | 철자 확인 → where 이름 으로 찾기 |
| 실행은 되는데 버전이 다름 | 같은 이름 파일이 여러 개, 앞쪽이 실행됨 | where 이름 결과의 맨 윗줄 확인 |
| 파이썬 버전이 여러 개 | PATH 순서에 따라 바뀜 | py -0 으로 목록, py -3.12 처럼 지정 |
설치 직후 명령이 인식되지 않는다면, 열려 있던 명령 프롬프트 창을 닫고 새로 연 창에서 다시 해 보는 것도 방법이다. 이미 열린 창은 설치 전의 PATH를 들고 있기 때문이다.
2026년 10월 18일, 윈도우 11 Home 23H2에서 확인. 캡처의 사용자 폴더 이름은 흐리게 가렸다.
참고 자료
같은 카테고리의 글
04윈도우 정품 인증 상태와 라이선스 종류 확인 — 설정·slmgr /xpr·명령 3가지 직접 비교
설정의 정품 인증 화면, slmgr /xpr, SoftwareLicensingProduct 명령으로 이 PC의 윈도우 인증 상태(활성·영구 인증)와 라이선스 채널(Retail)을 제품 키 노출 없이 확인했습니다. LicenseStatus 값의 의미와 라이선스 종류를 알아 둬야 하는 이유까지 정리했습니다.
3분내 마이크를 언제 어떤 프로그램이 썼을까 — 윈도우 11 마이크 사용 기록 직접 확인
설정의 개인 정보 및 보안 > 마이크에서 앱별 마지막 액세스 시각을 보고, 목록에 없는 디스코드·크롬 같은 데스크톱 앱의 마이크 사용 시작·종료 시각은 명령으로 확인했습니다. 같은 Claude가 두 곳에 다른 날짜로 나온 이유까지 화면과 함께 정리했습니다.
3분PC가 갑자기 꺼진 기록 찾기 — 이벤트 41로 '전원 버튼 강제 종료'와 블루스크린 구분하기
명령 두 줄로 이벤트 로그의 Kernel-Power 41과 6008을 뽑아 이 PC의 비정상 종료 3번을 찾고, BugcheckCode와 PowerButtonTimestamp 값으로 블루스크린·전원 단추 강제 종료·전원 차단을 구분했습니다. 버튼을 누른 정확한 시각까지 변환하는 법을 화면과 함께 정리했습니다.
3분4K 모니터인데 2560×1440으로 나온다? 윈도우 배율 150%가 실제로 하는 일
같은 4K 모니터를 PowerShell은 2560×1440으로, 그래픽 카드는 3840×2160으로 보고하는 현상을 직접 겪고 원인을 확인했습니다. 배율 150%와 'DPI 인식 안 함' 프로그램의 관계, 특정 앱만 흐릿하게 보이는 이유를 화면과 함께 정리했습니다.
3분