如何还原与系统的.bat文件关联(双击使它们运行)?


68

为了使系统再次运行.bat文件(双击它们),我如何将'Opens with ...'属性设置为?

我的老板以某种方式说服了他的工作站,该.bat文件的处理程序应该是Word。现在,双击.bat文件时,它们已在Word中打开。


1
我什至在Windows的文件类型关联对话框中找不到.BAT。而且我无法在.bat文件上调用“打开方式...”对话框。他怎么能改变它?

3
嗯...我猜这就是为什么他是老板?;)

3
右键单击.bat文件->使用...打开->选择MS Word,选中“始终使用此程序打开”,然后单击“确定”。bam,您的扩展名现已注册到Word。
09年

我的bat文件也没有“打开方式”菜单(Windows 7),当然其他文件也有。
lbalazscs

1
仅供参考,.bat文件不是可执行文件。它们是解释脚本。
Keltari '16

Answers:


58

我认为您必须从注册表中删除.bat文件关联(使用regedit程序)。

根据LockerGnome上的此论坛主题,您需要删除此注册表项下的注册表设置:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat

为了安全起见,您可能需要在执行此操作之前备份注册表。


28
对于在那里的极简主义者,我要补充一点,我只删除了UserChoice子文件夹,从而获得了成功。一旦消失,将恢复默认的执行行为。HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts \ .bat \ UserChoice
Mark F Guerra

我移走了整个.bat钥匙,一切恢复正常。由于某种原因(我怀疑是防病毒软件),我无法重命名UserChoice密钥。
金·格拉斯曼(KimGräsman)2014年

太痛苦了!! 并在更新时自动发生。谢谢一堆女士。
2015年

在路径中,HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.batUserChoice完全拔出了钥匙,这对我来说很好用。@Kim-也许您没有regedt32以管理员身份运行(右键单击并选择Run as administrator)?
马特

还有许多其他可能的原因/注册表位置。查看其他答案,以及我的答案尝试摘要。
kxr

32

此注册表项文件将执行此操作。复制并粘贴到名为“ restore.reg”的文本文件,然后双击它以合并到注册表中。

它将清除您可能不小心为.bat文件创建的每用户设置,并恢复系统默认值,包括.bat<-> batfile文件类型关系以及用于启动batfile。的实际参数。

Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat]
[-HKEY_CURRENT_USER\Software\Classes\.bat]
[-HKEY_CURRENT_USER\SOFTWARE\Classes\batfile]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.bat]
@="batfile"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\open\command]
@="\"%1\" %*"

还必须在我的机器上运行cmd文件
mohlsen 2011年

1
我用了这个,似乎工作正常。
哈康K. Olafsen

完成此操作后,双击bat文件时,出现类似“ a.bat并非有效的win32应用程序”的错误
rashok 2015年

效果很好,但要想发挥作用,我不得不explorer.exe使用“任务管理器” 将其杀死并作为新任务再次运行。
戴夫·安德森

这个解决了我是否选择的答案没有的问题。它仍然要求一个打开.bat文件的应用程序。
JDuarteDJ

10

我有同样的问题(在Windows 7中);批处理文件在记事本中打开而不是被执行。

更正下面的.bat文件注册表(与其他运行该文件的计算机一样)将使批处理正确执行:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\

.bat                --> default-> Value not set
.bat/OpenWithList   --> default-> Value not set
.bat/OpenWithProgIds--> default-> Value not set
                        batfile-> Zero length binary values 

保留这些条目,但删除所有其他条目.bat。双击刷新并运行批处理文件-它会正确运行。


7

上面的答案都没有针对我正在使用的计算机修复它,但是修复了启动Admin Shell并运行的问题

assoc .bat=batfile
assoc .cmd=batfile

1
这是Win 2008 Server的解决方案,cmd以管理员身份运行。无需重新启动Explorer.exe或Windows。
TonyG '18

不工作?????????????????
YumYumYum

2
这对我在Windows 10上有效
htxryan

不,在Windows Server 2012上不起作用
Toolkit

有了Run as Administrator,这对Windows 10来说对我来说是完美的!:-)现在(安装)了调用.bat文件的.exe文件,可以正常工作。这个解决方案比必须要弄乱注册表好得多!作为一个旁注,看看当前有哪些关联,只需键入assoc .bat我的情况都.batcmd 相关联Notepad++_file。现在它们已经成为了.batfile,右键单击bat文件,使我可以运行或以管理员身份运行。在此之前是不可能的。以前,我的解决方法是打开一个cmd窗口,然后手动键入a filename.bat来运行文件
SherylHohman


2

Kaleb获得40票的答案对我没有用,但我最终找到了答案。要使bat文件再次执行,您必须转到:

[HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes.bat]并将(默认)设置为“ batfile”。如果您有在Word或Notepad ++中打开而不是双击运行的批处理脚本,那是因为这些程序已将(默认)设置为其自己的哑剧。

如果要快速修复,只需打开一个文本文件并粘贴:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.bat]
    @="batfile"

并以.reg扩展名保存并双击以合并。


1

在注册中,您的.bat条目需要指向batfile条目:

[HKEY_CLASSES_ROOT\.bat]
@="batfile"
.....

当然,您还需要确保您拥有batfile注册表项:

[HKEY_CLASSES_ROOT\batfile]
@="MS-DOS Batch File"
.....

1

在Windows 8中,使用记事本制作或修改批处理文件,但秘密如下:

使用双引号保存批处理文件。从字面上使用“ MYBACK.BAT”使用保存框中的双引号保存文件。代替MYBACK.BAT


True(与Windows / Notepad的早期版本相同)。但这如何回答这个问题?
2014年

0

注册表内容因Windows版本不同而异。

我建议你找到另一台计算机上使用相同的O / S版本,并使用注册表编辑器导出的内容HKEY_CLASSES_ROOT\.batHKEY_CLASSES_ROOT\batfile

然后转到Boss的计算机,删除上述两个键并导入两个文件。


0

为避免编辑注册表的麻烦(对许多人来说,这是令人恐惧和恐吓的),您可以使用免费的,出色的,非侵入式的修复实用程序,它实际上可以起到任何作用(相对于许多其他废话),tweaking.com Windows Repair

具体来说:安装它,跳到“修复”选项卡,单击“打开修复”,并在“ 04注册系统文件”中打上勾号,然后单击“开始修复”按钮。

该程序的用户界面随时间变化,因此将来,任何这样做的人都可能需要浏览该程序才能找到此选项。

我想冒一个猜想,您老板的计算机上还有许多其他问题,因此他可能想运行该程序的所有修复程序,这可能需要几个小时才能完成。

注意:我不隶属于tweaking.com;我只是该计划的忠实拥护者。熟练地使用它可以节省我的计算机的操作系统或多次解决顽固的问题。


0

再一次,以前的答案都没有在这里做。
例如,我不得不将默认值[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell] 从更改editopen

(一旦我在“资源管理器”文件夹选项对话框中更改了文件类型扩展关联。BAT文件便不再提供&进行更改。似乎有一个特殊的例外。但是我记得,一旦我在“资源管理器”文件夹选项对话框中添加了BAT类型, ,以使“ edit”成为默认的外壳动词。)

各地检查

因此,毕竟有各种各样的原因和不同的OS版本,并且(至少)需要检查以下注册表文件夹(和子文件夹)的(默认)值-使用一些常识:-)。而且我认为该列表可能反映了与操作系统相关的优先顺序:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat]  (if present: remove "UserChoice")
[HKEY_CURRENT_USER\Software\Classes\.bat]  (if present: @ = "batfile")
[HKEY_CURRENT_USER\SOFTWARE\Classes\batfile]  (if present)
[HKEY_CURRENT_USER\SOFTWARE\Classes\batfile\shell]  (if present: @ = "open")
[HKEY_CURRENT_USER\SOFTWARE\Classes\batfile\shell\open\command]  (if present: @ = "\"%1\" %*")
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.bat]  @ = "batfile"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell]  @ = "open"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\open\command]  @ = "\"%1\" %*"
[HKEY_CLASSES_ROOT\.bat]  @ = "batfile"
[HKEY_CLASSES_ROOT\batfile]
[HKEY_CLASSES_ROOT\batfile\shell]  @ = "open"
[HKEY_CLASSES_ROOT\batfile\shell\open\command]  @ = "\"%1\" %*"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.