Как найти местоположение программы в списке «Открыть с помощью»?

Как найти местоположение программы в списке «Открыть с помощью»?

Мне нужно удалить программу вОткрыть сlist (мне нужно заменить пользовательскую программу на более новую версию, и я не помню, где .exeнаходится файл).

Как мне найти местоположение этой программы на моем компьютере?

По какой-то причине я не могу найти его по имени приложения, даже при поиске по всем .exeфайлам. Установщика для программы нет, ее просто .exeкладешь куда хочешь.

решение1

Список «Открыть с помощью…» хранится в реестре в двух отдельных ключах. Один ключ хранит список приложений для использования с определенным расширением файла, а другой хранит местоположение определенного приложения.

Вы можете либо поискать их в реестре regedit.exe(что я не советую делать, так как вы можете случайно внести изменения в реестр), либо запросить их из командной строки:

> reg query HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.php\OpenWithList

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.php\OpenWithList
    a    REG_SZ    Dreamweaver.exe
    MRUList    REG_SZ    ba
    b    REG_SZ    notepad++.exe


> reg query HKEY_CLASSES_ROOT\Applications\notepad++.exe\shell\open\command /ve

HKEY_CLASSES_ROOT\Applications\notepad++.exe\shell\open\command
    (Default)    REG_SZ    "C:\Program Files\Notepad++\notepad++.exe" "%1"

Я написал очень короткий пакетный файл, который выполняет большую часть работы:

@echo off
SET _Ext=%~1
IF "%_Ext%"=="" SET /P _Ext=Enter file extension to query: 
for /f "tokens=2*" %%a in ('reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\%_Ext%\OpenWithList" ^| FIND /v "MRUList"') do (
    echo|set /p=%%b: 
    for /f "tokens=2*" %%g in ('reg query "HKEY_CLASSES_ROOT\Applications\%%b\shell\open\command" /ve ^| FIND /v "MRUList"') do (
        echo %%h
    )
)

Связанный контент