윈도우의 장점 중 하나는 명령 프롬프트(Command Prompt)만으로도 다양한 작업을 처리할 수 있다는 점입니다. cmd.exe를 입력하기만 하면 윈도우가 알아서 실행해 줍니다. 하지만 가끔 '내부 또는 외부 명령으로 인식되지 않습니다(is not recognized as an internal command)'와 같은 오류 메시지를 마주할 때가 있습니다.
이는 사실 명령 프롬프트에서 가장 흔하게 발생하는 오류 중 하나입니다. 오류 메시지 그대로, 명령 프롬프트가 사용하려는 도구를 인식하지 못하는 상황입니다. 이 오류가 발생하는 원인은 여러 가지이며, 해결 방법 역시 다양합니다.
'내부 명령으로 인식되지 않음' 오류가 발생하는 이유
수정 작업에 앞서 오류가 발생한 원인을 파악해 두면 앞으로 같은 문제가 재발하는 것을 예방할 수 있습니다.
다른 프로그램이 시스템 변수를 변경한 경우
PC에서 이 오류가 발생하는 가장 흔한 원인 중 하나는 설치된 다른 응용 프로그램이 시스템 변수를 변경했기 때문입니다. 이로 인해 명령 프롬프트가 다른 앱이나 도구를 실행하는 명령을 제대로 인식하지 못하게 됩니다.
필요한 프로그램이 컴퓨터에 설치되어 있지 않은 경우
두 번째 가능한 원인은 해당 프로그램이 컴퓨터에 설치되어 있지 않은 경우입니다. 설치 프로그램이 응용 프로그램 파일을 올바른 위치에 설치하지 않았거나, 명령 프롬프트로 실행할 수 있도록 설정하지 않았을 수 있습니다.
윈도우에서 오류 해결하기
원인이 무엇이든, 아래 방법들을 활용하면 이 오류를 해결하고 명령 프롬프트가 사용하려는 프로그램을 정상적으로 인식하도록 만들 수 있습니다.
1. 프로그램이 실제로 PC에 존재하는지 확인하기
가장 먼저 할 일은 명령 프롬프트에서 사용하려는 프로그램이 실제로 컴퓨터에 있는지 확인하는 것입니다. 가짜 설치 프로그램이 성공적으로 설치되었다고 알렸지만 실제로는 그렇지 않았을 수도 있습니다.
프로그램 설치 여부를 확인하는 방법은 간단합니다.
- 파일 탐색기(File Explorer) 창을 엽니다.
- 다음 경로로 이동합니다.
C:\Windows\System32\

- 명령 프롬프트에서 실행하려는 실행 파일이 이 폴더에 있는지 확인합니다. 없다면 프로그램이 설치되어 있지 않을 가능성이 높습니다.
단, 위 방법이 확실한 확인 방법은 아닙니다. 모든 프로그램이 자신의 파일을 윈도우 System32 폴더에 보관하는 것은 아니기 때문입니다. 하지만 대부분의 프로그램을 찾는 데는 도움이 됩니다.
2. 실행 파일의 전체 경로 사용하기
이 오류는 대개 컴퓨터가 실행하려는 실행 파일을 찾지 못해서 발생합니다. 하지만 실행 파일의 전체 경로를 지정해 주면 문제없이 실행할 수 있습니다.
- PC에서 명령 프롬프트 창을 엽니다.
- 사용하려는 실행 파일의 전체 경로를 입력하고 Enter 키를 누릅니다.
- 예를 들어 바탕화면의 adb 폴더에 있는 adb.exe를 실행하려면 다음과 같이 입력합니다.
C:\Users\<username>\Desktop\adb\adb.exe

- 파일이 문제없이 실행될 것입니다.
3. 파일 경로를 큰따옴표로 묶기
전체 경로를 지정하는 방법도 완벽하지는 않습니다. 잘못 사용하면 여전히 같은 오류가 발생할 수 있습니다. 문제는 명령 프롬프트에 입력하는 경로 자체에 있습니다.
실행 파일의 전체 경로에 공백이 포함되어 있으면 오류가 발생합니다. 명령 프롬프트는 공백을 인식하지 못하고 첫 번째 공백까지의 문자열만 프로그램 이름으로 인식하기 때문입니다.
다음 방법으로 해결할 수 있습니다.
- 경로에 공백이 하나든 여러 개든 포함되어 있다면, 경로 전체를 큰따옴표(" ")로 묶어 입력합니다.

- 그러면 명령 프롬프트가 전체 경로를 하나의 항목으로 인식하여 프로그램을 정상적으로 실행합니다.
4. 파일을 System32 폴더로 옮기기
명령 프롬프트에서 실행 파일을 실행하려고 하면 윈도우의 System32 폴더를 먼저 확인하고, 해당 위치에 파일이 있으면 열어줍니다. 그렇다면 실행 파일을 직접 그곳에 넣으면 어떨까요? 관리자 권한만 있다면 얼마든지 가능합니다.
- 실행 파일과 관련된 모든 파일을 함께 복사하여 다음 폴더에 붙여넣습니다.
C:\Windows\System32 - 명령 프롬프트가 열려 있었다면 닫고 다시 실행합니다.

- 경로 없이 실행 파일 이름만 입력하면 성공적으로 실행되는 것을 확인할 수 있습니다.
이 방법은 효과적이지만 신중하게 사용하는 것이 좋습니다. 새로운 도구를 사용할 때마다 실행 파일을 System32 폴더에 넣어야 하므로, 시간이 지날수록 폴더가 비대해질 수 있습니다.
또한 특정 디렉터리에 설치해야 하는 도구에는 적용할 수 없습니다. 설치 경로가 윈도우 레지스트리에 정의되어 있기 때문입니다. 따라서 다른 방법으로 해결이 어렵고, 설치 과정이 필요 없는 응용 프로그램일 때만 이 방법을 사용하는 것이 좋습니다.
5. 실행 파일 경로를 환경 변수에 추가하기
이 오류를 해결하는 가장 효율적인 방법은 환경 변수를 편집하여 적절한 파일 경로를 추가하는 것입니다. 명령 프롬프트는 명령을 입력할 때마다 이러한 경로들을 확인하고, 파일을 발견하면 열어주기 때문입니다.
환경 변수 편집은 생각보다 간단합니다.
- PC에서 Cortana 검색을 이용해 제어판(Control Panel)을 엽니다.
- 시스템 및 보안(System and Security) 옵션을 클릭합니다.
- 다음 화면에서 시스템(System)을 찾아 클릭합니다.
- 왼쪽 사이드바에서 고급 시스템 설정(Advanced system settings)을 선택합니다.
- 새 창이 열리면 하단의 환경 변수(Environment Variables) 버튼을 클릭합니다.
- 계정의 사용자 변수 목록에서 Path를 선택한 후 편집(Edit) 버튼을 클릭합니다.

- 오른쪽 사이드바의 찾아보기(Browse)를 클릭하여 목록에 디렉터리를 추가합니다.
- 실행 파일이 있는 폴더로 이동하여 선택합니다.
- 새로 추가된 경로가 변수 목록에 표시되는지 확인한 후, 하단의 확인(OK)을 클릭하여 저장합니다.

- 나머지 창들도 닫으면서 모두 확인(OK)을 클릭합니다.
- 명령 프롬프트 창을 열고 실행 파일 이름을 입력합니다. 오류 없이 파일이 정상적으로 실행되는 것을 확인할 수 있습니다.
'내부 명령으로 인식되지 않음' 오류는 분명히 설치된 프로그램인데도 사용할 수 없게 만들어 때때로 매우 답답함을 주곤 합니다.
위에서 소개한 방법들을 활용하면 이 오류를 제거하고 명령 프롬프트 창에서 어떤 프로그램이든 문제없이 실행할 수 있을 것입니다. 위 방법 중 문제 해결에 도움이 된 방법이 있다면 댓글로 알려주세요.