Windows에서 “내부 또는 외부 명령으로 인식되지 않음” 오류를 해결하는 5가지 방법

핵심 요약

  • 명령 프롬프트에서 “내부 또는 외부 명령으로 인식되지 않음” 오류는 명령을 잘못 입력했거나 Windows 환경 변수 설정 문제로 인해 나타날 수 있습니다.
  • 이 오류를 해결하려면 작업 디렉터리를 System32로 변경하거나, 프로그램 설치 상태를 점검하거나, 파일의 전체 경로를 사용하여 명령을 실행해야 합니다.
  • Windows 환경 변수에 실행 파일 경로를 추가하거나, 임시적으로 프로그램 파일을 System32 폴더로 옮기는 방법도 있습니다.

Windows 명령 프롬프트는 다양한 작업을 빠르게 처리할 수 있는 유용한 도구입니다. 하지만 가끔 명령 실행 시 “내부 또는 외부 명령으로 인식되지 않음”과 같은 오류 메시지가 표시될 때가 있습니다.

이 오류는 비교적 흔하며, 주로 명령을 잘못 입력했을 때 발생합니다. 이 문서에서는 Windows 환경에서 이 오류가 발생하는 원인과 해결 방법을 자세히 알아봅니다.

“내부 또는 외부 명령으로 인식되지 않습니다” 오류 발생 원인

Windows 운영 체제는 프로그램 실행을 원활하게 하기 위해 Windows 환경 변수라는 경로 목록을 사용합니다. 이 경로 설정에 문제가 생기면 오류가 발생할 수 있습니다.

주요 오류 원인은 다음과 같습니다.

  • 잘못된 명령 입력
  • 명령 기능에 영향을 주는 레지스트리 문제
  • 실행 파일 또는 스크립트 미설치
  • 잘못된 파일 경로 또는 파일 이름
  • Windows 환경 변수에 파일 디렉토리 경로 미등록

“내부 또는 외부 명령으로 인식되지 않음” 오류 해결 방법

이 오류는 프로그램이나 CMD 명령을 실행할 때 주로 발생하며, 명령 프롬프트가 시스템의 PATH 환경 변수에서 명령이나 실행 파일을 찾을 수 없을 때 나타납니다. 명령 형식이 올바른데도 문제가 발생했다면, 시스템의 PATH 환경 변수에 해당 디렉터리 경로가 누락되었을 가능성이 큽니다.

다음은 오류 유형별 해결 방법입니다.

1. 명령 프롬프트 작업 디렉터리 변경

명령 프롬프트의 작업 디렉터리를 C:\users\username에서 C:\Windows\System32로 변경하면 이 오류를 임시로 해결할 수 있습니다. System32 디렉터리에는 명령 프롬프트에서 사용하는 시스템 명령 등 필수 파일들이 포함되어 있습니다.

작업 디렉터리가 변경되면 명령 프롬프트는 해당 디렉터리에서 명령을 찾게 됩니다. 시스템 명령 실행 중 오류가 발생한다면 이 방법이 효과적일 수 있습니다.

작업 디렉터리를 변경하는 방법:

  • Win + R 키를 눌러 실행 창을 엽니다.
  • cmd를 입력하고 확인을 클릭하여 명령 프롬프트를 실행합니다.
  • 명령 프롬프트에 cd c:\windows\system32를 입력하고 Enter 키를 누릅니다. 이렇게 하면 작업 디렉터리가 C:\Windows\System32로 변경됩니다.
  • 이제 명령을 실행해 보면 오류 없이 작동할 것입니다.

이 방법은 일시적인 해결책이며, 특정 명령이나 가끔 사용하는 경우에 유용합니다. 장기적인 해결을 위해서는 프로그램 자체의 문제점을 파악하고, 관련 프로그램 파일 경로를 Windows 환경 변수에 추가하는 것이 좋습니다.

2. 프로그램 설치 여부 확인

명령 프롬프트는 존재하지 않는 프로그램을 실행할 수 없습니다. 새로 설치한 프로그램을 실행하려고 할 때 오류가 발생한다면, 프로그램이 제대로 설치되었는지 확인해야 합니다.

설치 상태 확인 방법:

  • Win + R 키를 눌러 실행 창을 엽니다. 그런 다음 control을 입력하고 확인을 클릭하여 제어판을 실행합니다.
  • 제어판에서 프로그램 > 프로그램 및 기능으로 이동합니다.
  • 설치된 앱 목록을 확인하여 실행하려는 프로그램을 찾습니다.

또는 설정에서 앱 및 기능을 통해 설치된 앱 목록을 확인할 수도 있습니다. Windows 키 + I를 누르고 앱을 클릭한 후 설치된 앱을 찾아보세요.

CMD에서 프로그램이나 스크립트를 실행할 때, 명령 프로세서는 System32 폴더나 환경 변수에서 관련 파일과 경로를 찾습니다. 만약 파일이 없으면 “내부 또는 외부 명령, 실행 가능한 프로그램 또는 배치 파일로 인식되지 않음” 오류가 발생합니다.

대부분의 프로그램은 C:\Program Files에 설치되고, System32 폴더에는 설치되지 않기 때문에 이 문제가 발생할 수 있습니다.

이 문제는 다음 세 가지 방법으로 해결할 수 있습니다.

  • 첫째, 실행 파일의 전체 경로를 사용하여 프로그램을 실행합니다.
  • 둘째, Windows 환경 변수에 프로그램 경로를 추가합니다.
  • 셋째, 파일을 System32 폴더로 이동합니다.

3. 전체 파일 경로를 사용하여 명령 실행

가장 먼저 시도해 볼 방법은 전체 파일 경로를 사용하는 것입니다. 프로그램 이름 대신 파일의 전체 경로를 입력하여 명령 프롬프트에서 프로그램을 실행합니다. 방법은 다음과 같습니다.

  • 관리자 권한으로 명령 프롬프트를 실행합니다.
  • 실행하려는 애플리케이션의 전체 경로를 입력합니다. 예를 들어 C:\ 디렉터리에 있는 ESBCalcPort.exe를 실행하려면 다음과 같이 입력합니다.
    C:\ESBCalcPort.exe
  • 주의할 점은 파일 경로에 공백이 없어야 한다는 것입니다. 만약 공백이 있다면, 다음 방법처럼 큰따옴표로 묶어야 합니다.

4. 큰따옴표 안에 전체 파일 경로 사용

명령 프롬프트는 공백을 명령의 끝으로 인식하므로, 공백 뒤의 내용은 별도의 명령으로 처리합니다.

예를 들어, C:\Program Files\Internet Explorer\iexplore.exe에 있는 Internet Explorer를 실행한다고 가정해 보겠습니다. 이 경로를 그대로 입력하면 프로그램 파일과 Internet Explorer 사이의 공백 때문에 오류가 발생합니다.

이러한 문제를 방지하려면 파일 경로를 큰따옴표로 묶어야 합니다. 다음은 Internet Explorer를 실행하는 올바른 명령입니다.

"C:\Program Files\Internet Explorer\iexplore.exe"

5. Windows 환경 변수에 파일 경로 추가

환경 변수를 편집하여 프로그램의 파일 경로를 추가할 수 있습니다. 이렇게 하면 명령 프롬프트가 명령의 경로를 인식하고 오류 없이 실행됩니다.

Windows 환경 변수에 전체 파일 경로를 추가하면 Flex, nmake, make, cobra, Is, terraform, gcc, code, Android Studio, Python, Fastboot, ADB 등의 명령에서 발생하는 “내부 또는 외부 명령으로 인식되지 않음” 오류를 해결하는 데 도움이 될 수 있습니다.

환경 변수 편집 방법:

  • Win + R 키를 눌러 실행 창을 엽니다.
  • control을 입력하고 확인을 클릭하여 제어판을 엽니다.
  • Windows 10에서는 시스템 및 보안 > 시스템으로 이동한 후 왼쪽 창에서 고급 시스템 설정을 클릭합니다.
  • 최신 버전의 Windows 10 및 Windows 11에서는 설정 > 시스템 > 정보로 이동한 후 관련 설정에서 고급 시스템 설정을 클릭합니다.
  • 고급 탭에서 환경 변수 버튼을 클릭합니다.
  • 새 창에서 시스템 변수 섹션의 경로(Path) 변수를 선택합니다.
  • 편집 버튼을 클릭합니다.
  • 편집 창에서 새로 만들기를 클릭합니다.
  • 명령 프롬프트에서 실행하려는 프로그램의 파일 경로를 붙여넣습니다. 예를 들어 C:\Program Files\Google\Chrome\Application에 있는 Chrome 브라우저를 실행하려면 다음과 같이 입력합니다.
    C:\Program Files\Google\Chrome\Application
  • 확인을 클릭하여 환경 변수에 추가합니다.
  • 다시 확인을 클릭합니다.
  • 확인을 클릭하고 적용을 클릭하여 변경 사항을 저장합니다.

새 환경 변수를 추가한 후에는 PC를 재시작하여 변경 사항을 적용해야 합니다. PC가 재시작되면 명령 프롬프트를 열고 프로그램 이름을 입력하면 CMD가 오류 없이 프로그램을 실행합니다.

ipconfig, netsh, cipher 등과 같은 명령에서 문제가 발생한다면 환경 변수 대화 상자에 Windows 시스템 루트 폴더의 파일 경로를 추가해야 합니다. 방법은 다음과 같습니다.

  • 환경 변수 대화 상자를 엽니다.
  • 시스템 변수 섹션에서 경로 변수를 선택하고 편집을 클릭합니다.
  • 새로 만들기를 클릭하고 다음 내용을 붙여넣습니다.
    %SystemRoot%\system32
  • 확인을 클릭하여 변경 사항을 저장합니다.
  • 확인, 적용을 차례로 클릭하여 변경 사항을 저장합니다.

경우에 따라, 실행 디렉토리를 Path 환경 변수에 추가한 후에도 오류가 계속될 수 있습니다. 이는 특히 Git이나 Python과 같은 도구를 사용할 때 자주 발생합니다. 동일한 경로의 다른 폴더에 있는 명령이나 스크립트를 실행하려고 할 때 발생합니다.

예를 들어, git 명령에서 내부 또는 외부 명령으로 인식되지 않음 오류가 발생한다면, C:\Program Files\Git\cmd 또는 C:\Program Files\Git\bin을 Path 환경 변수에 추가해야 합니다. 마찬가지로 Python 명령을 실행하려면 C:\users\username\appdata\local\programs\python\pythonversion\scripts를 Path 환경 변수에 추가해야 할 수 있습니다.

6. 파일을 System32 폴더로 이동

System32는 중요한 시스템 폴더로 보호되어 있습니다. 관리자 권한으로 프로그램을 실행하면 명령 프롬프트는 System32 폴더에서 실행 파일을 찾습니다. 그러나 System32 폴더에는 모든 프로그램이 설치되어 있지 않으므로 오류가 발생할 수 있습니다.

CMD에서 프로그램을 계속 사용하고 싶지만 매번 전체 파일 경로를 입력하는 것이 불편하다면 프로그램 파일을 System32 폴더로 이동할 수 있습니다.

프로그램 파일을 System32 폴더로 이동하는 방법:

  • 프로그램 설치 디렉터리로 이동하여 해당 폴더의 모든 파일을 복사합니다. 예시에서는 C:\Program Files\Google\Chrome\Application에 있는 Google Chrome 파일을 System32 폴더로 이동하겠습니다.
  • C:\Windows\System32 폴더로 이동하여 복사한 파일을 붙여넣습니다. UAC 프롬프트가 나타나면 ‘예’를 클릭합니다.
  • 명령 프롬프트를 관리자 권한으로 실행한 다음 chrome을 입력하고 Enter 키를 누르면 CMD에서 Google Chrome 브라우저가 바로 실행됩니다.

“내부 또는 외부 명령으로 인식되지 않는 CMD” 오류 해결 정리

명령 프롬프트 명령은 대소문자를 구분하지 않지만 공백 사용에 주의해야 합니다. 이 오류를 해결하려면 명령이 올바른지 확인하고 공백이 포함된 파일 경로는 큰따옴표로 묶어서 사용해야 합니다. System32 폴더에 설치되지 않은 프로그램은 환경 변수에 해당 프로그램의 전체 파일 경로를 추가하여 CMD에서 실행할 수 있도록 설정하는 것이 좋습니다.