Win7 系統中雙擊 .bat 批次檔卻以記事本開啟,是因為檔案關聯在登錄表中被更改(常見於安裝某些編輯器或優化軟體後)。本文提供精準的登錄表修復方案。
.bat 檔案的預設動作應為「開啟」(執行),但登錄表鍵值 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat 下的 UserChoice 或 OpenWithList 被寫入了記事本路徑,導致雙擊行為異常。
regedit 按 Enter 開啟登錄表編輯器
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat
.bat 節點下,刪除除「(預設)」外的所有子鍵/值,重點刪除:UserChoice 子鍵(儲存使用者選擇的開啟程式)OpenWithList 子鍵(儲存「開啟方式」清單)OpenWithProgids 子鍵(儲存 ProgID 關聯)explorer.exe 即可生效
test.bat → 編輯內容為 @echo Hello & pausetest.bat,應彈出命令提示字元視窗顯示「Hello」並提示「按任意鍵繼續」使用者層級修復無效時,需檢查機器層級(需系統管理員權限):
HKEY_CLASSES_ROOT\.bat
HKEY_CLASSES_ROOT\batfile\shell\open\command
確認 (預設) 值為 "%1" %*,且 HKEY_CLASSES_ROOT\.bat 的 (預設) 為 batfile。
將以下內容儲存為 fix_bat_association.reg,雙擊匯入即可一鍵修復:
Windows Registry Editor Version 5.00
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat\UserChoice]
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat\OpenWithList]
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat\OpenWithProgids]
[HKEY_CLASSES_ROOT\.bat]
@="batfile"
[HKEY_CLASSES_ROOT\batfile\shell\open\command]
@="\"%1\" %*"
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts 分支透過清除 HKCU\...\FileExts\.bat 下的 UserChoice、OpenWithList 等使用者自訂關聯,可瞬間恢復 .bat 檔案的原生執行行為,無需重裝系統。