我需要刪除一個程式打開用列表(我需要用更新版本替換自訂程序,但我不記得該.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
)
)