Как Windows находит путь к исполняемым файлам, таким как iexplore.exe?

5540
Kyle Delaney

Если я ввожу iexplore в окно запуска, оно запускает Internet Explorer. Я предполагаю, что это означает, что C: \ Program Files \ Internet Explorer находится в моей переменной окружения пути, но это не так. Я проверил мои пользовательские и системные переменные. Так как Windows узнает, где искать подобные вещи?

Полагаю, я должен упомянуть, что сейчас использую Windows 8.1.

1
Я угадываю через переменные среды (s)% SystemRoot% и% SystemRoo% \ system32 DukeSilversJazz 7 лет назад 0
Я попытался запустить «iexplorer.exe» из командной строки PowerShell, мне сказали, что это неправильная команда, я попытался запустить «notepad.exe» и программа запустилась. Затем я переключился на каталог и запустил «iexplorer.exe», и программа запустилась. * Так оно и есть в переменной пути вашего пользователя. * Ramhound 7 лет назад 2
Я также запустил «iexplorer.exe» из команды запуска, и мне сказали, что команда также недействительна. Таким образом, вы изменили свою переменную пути по умолчанию (или моя переменная пути пользователя отличается) в любом случае путь ЕСТЬ в переменной, иначе вы получите ошибку. Затем я указываю путь к исполняемому файлу, и, как и ожидалось, программа запускается. Ramhound 7 лет назад 2
Разве это не `iexplore.exe`? Вот почему он возвращается как неверная команда. Darren 7 лет назад 1
% SystemRoot% относится к C: \ Windows, верно? Я проверил там и C: \ Windows \ System32, и нигде не видел iexplore. Kyle Delaney 7 лет назад 0
`% PATH%` - asdfasdf Horn OK Please 7 лет назад 0

2 ответа на вопрос

3
TOOGAM

Компьютер использовал регистрацию приложений в этой программе. Чтобы увидеть список таких исполняемых файлов, проверьте HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ App Paths

например:

reg QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths"

Это показывает исполняемые файлы. Чтобы показать больше информации о тогда, используйте:

reg QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths" /s

На самом деле, это только одно из мест, которые проверяются на наличие исполняемых файлов. На странице MSDN регистрации приложений есть раздел «Поиск исполняемого файла приложения», в котором упоминается об этом, а также о некоторых других местах, которые могут использоваться функцией «ShellExecuteEx». Эта функция используется некоторым программным кодом, включая диалоговое окно «Выполнить», но может не совпадать с тем, что используется в традиционной командной строке, поэтому вы можете получить разные результаты для конкретной команды (в зависимости от того, где вы пытаетесь запустить команда от).

0
Mr. Mendelli

Вы не можете запустить Internet Explorer из командной строки или PowerShell, как и другие программы, потому что его исполняемый файл отсутствует C:\Windows\System32. Переменная %SystemRoot%ссылается на путь C:\Windows\System32, и именно там такие вещи, как Run и Powershell, выполняют программы по умолчанию, потому что их пути начинаются там, если не указано иное. Исполняемые файлы Internet Explorer находятся в:

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

для 64-битных

а также

C:\Program Files (x86)\Internet Explorer\iexplore.exe 

для 32-битных

Вы можете запустить Internet Explorer с указанными выше путями или поместить их в командный файл:

%SystemRoot%\explorer.exe "C:\Program Files\Internet Explorer\iexplore.exe" 

а также:

%SystemRoot%\explorer.exe "C:\Program Files(x86)\Internet Explorer\iexplore.exe" 

Надеюсь это поможет.

Я думаю, вы меня не так поняли. Я не говорю, что не могу запустить Internet Explorer из диалогового окна запуска. Я говорю, что могу. И я спрашиваю, почему это так, так как он не найден в% SystemRoot%, как вы сказали. Также странно, что я могу запустить его из диалогового окна запуска, но не из командной строки. Kyle Delaney 7 лет назад 0
Попробуй сам. Нажмите Win + R и введите iexplore. Kyle Delaney 7 лет назад 0
Пробовал, но, похоже, не работает. Он может работать по-другому в Windows 10. Что касается запуска программ непосредственно из запуска, я считаю, что может быть список предопределенных программ, которые могут быть выполнены таким образом. Это, вероятно, на основе реестра. Mr. Mendelli 7 лет назад 0