실행 대화 상자는 애플리케이션이 어디에 있는지 어떻게 알 수 있습니까?


72

고급 사용자로서 나는 자주 실행 대화 상자를 사용합니다.

다음 명령이 PATH환경 변수 에 있기 때문에 왜 작동하는지 이해할 수 있습니다 .

mspaint
diskmgmt.msc
explorer

이 명령은 CMD에서도 작동합니다.

아래 명령은 실행시 작동하지만에 PATH있지 않으며 CMD에서 작동하지 않습니다.

firefox
winword
iexplore

Run은 이러한 파일의 위치를 ​​어떻게 알 수 있습니까?

답변:


90

실행 대화 상자에서 명령을 실행하면 시스템이 App Paths여기 에서 레지스트리 키를 찾습니다 .

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\filezilla.exe

(default) 값 데이터에는 실행 파일의 전체 경로가 있습니다.

찾을 수 없으면 PATH에 포함 된 각 폴더를 찾습니다.

명령 프롬프트는 이러한 레지스트리 키를 참조하지 않습니다. PATH 만 검색합니다.


5
아, 이것은 아마도 같은 이름으로 여러 프로그램을 옵션으로 열 수없는 이유를 설명합니다. 불쌍한 디자인.
curiousdannii

2
네 거의 요 그러나 대화 상자 열기가 읽 HKCR\ApplicationsRegisteredApplications
w32sh

4
Microsoft는 이에 관한 비디오를 제공했습니다 : channel9.msdn.com/Shows/Defrag-Tools/Defrag-Tools-133-App-Paths
magicandre1981

6
물론 start앱 경로를 검색하는 내장 기능을 사용할 수 있습니다 .
Neil

1
이것은 여기에 꽤 잘 문서화되어 있습니다 . 또한 cmd를가 검색을 수행하는 방법을 설명했습니다 여기 -이는 Win32 API를 구별 특별한 경우의 비트입니다.
Bob

4

w32sh의 대답 은 실행 대화 상자에서 검색 한 추가 키가 여기에 있음을 올바르게 지적합니다.

  • HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ 앱 경로 \
  • HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ 앱 경로 \

이러한 경로에 대한 공식 문서 가 있습니다 .

이러한 키에 대한 중요한 사실은 키 이름 (예 : "filezilla.exe")이 전체 경로와 일치하지 않아도된다는 것입니다. Windows 7에서이 값은 바로 가기의 "대상"으로 사용할 수있는 것과 유사한 간단한 명령 줄일 수도 있습니다.

예를 들어, 나는 이것을 내 레지스트리에 가지고 있었다.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\jedit.exe]
@="\"C:\\WINDOWS\\system32\\javaw.exe\" -Xms24M -Xmx512M -jar \"C:\\Program Files\\jEdit\\jedit.jar\" -reuseview"

Windows 10 에서이 작업을 수행 할 수는 없지만 배치 파일을 포함한 모든 파일을 가리킬 수 있습니다.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\jedit.exe]
@="C:\\Program Files\\jEdit\\run-jedit.bat"

이를 통해 "jedit"또는 "jedit C : \ foo \ bar \ something.txt"를 입력하여 적절한 옵션으로 JVM을 실행하고 jEdit를 시작 / 재사용 할 수 있습니다.

내가 볼 수있는 한 키 이름은 ".exe"로 끝나야하므로 "abc"의 별칭을 만들려면 ".exe"파일을 가리 키지 않아도 "abc.exe"키를 만듭니다. .


실행 파일 이름 뒤에 추가 스위치를 사용하면 작동하지 않습니다.
w32sh

@ w32sh 흠, 나는 그것이 승리 10에서 변경된 것 같아요 :(
IMSoP

-1

명령 행에 PATH 또는 % PATH %라는 환경 변수가 있습니다. 검색 할 일련의 위치가 포함되어 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.