경로에없는 프로그램은 어떻게 실행됩니까? [복제]


57

가능한 중복 :
왜 PATH 환경 변수에없는 프로그램을 실행할 수 있습니까?

동료에게 % PATH %에 대해 가르치고 있는데 "Firefox"를 실행하면 작동하지만 그것이 내 경로에 있지 않다는 사실에 놀랐습니다.

내가 무엇을 놓치고 있습니까?


2
상황에 따라 다릅니다. 명령 행에서 "firefox"를 입력하는 경우 firefox.exe는 경로 또는 Windows 또는 Windows \ System32 폴더에 있어야합니다. 실행 대화 상자에 "Firefox"를 입력하면 App Paths 레지스트리가 사용되므로 firefox.exe가 여기에 등록됩니다.
boot13

고맙습니다 boot13, App Paths 레지스트리 키를 몰랐습니다.
Mathew

답변:


101

실행 파일 이름 만 지정하여 실행 파일을 실행하려고하면 Windows는 다음 위치 에서 파일을 찾습니다 .

  1. 현재 작업 디렉토리
  2. Windows디렉토리는 (하위 디렉토리가 검색되지 않음).
  3. Windows\System32디렉토리.
  4. PATH 환경 변수에 나열된 디렉토리.
  5. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths( HKEY_CURRENT_USERWindows 7 이후)

실제로 App Paths응용 프로그램이 시스템 PATH환경 변수 를 수정하지 않아도 되도록 하위 키 에 "등록"응용 프로그램을 사용하는 것이 좋습니다 . 응용 프로그램의 설치 관리자가 실행 파일을 등록합니다.


3
내가 본 질문에 대한 최고의 답변 중 하나입니다. +1
Everett

그게 다야, 고마워 매일 새로운 것을 배우십시오.
Mathew

8
@Mathew 천만에요. "App Paths"하위 키는 한 명의 사용자 에게만 설치된 응용 프로그램의 HKCU 하이브에도 존재 합니다.
JC2k8

1
그렇기 때문에 .NET 개발에서 Java 개발로 갈 때까지 PATH를 다루지 않아도되었습니다. 나는 왜 .NET 개발의 모든 것이 "단지 작동"하는지 고려하지 않았다!
Stephen Swensen

2
이것은 cmd.exe 및 powershell에만 1-4의 Windows 실행 대화 상자에만 적용됩니다. boot13의 설명도 참조하십시오.
Alexander
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.