批处理文件不运行 - 它们是用记事本打开的

时间:2011-02-05 07:39:14

标签: file batch-file

我使用的是WinXP sp3,我创建了一个可以做某事的.bat文件。 当我双击它时,会打开一个记事本,我可以编辑批处理文件 - 但它不会运行??!?!

我希望当我双击.bat文件时 - 它应该运行,不是吗? 我该如何解决这个问题?

16 个答案:

答案 0 :(得分:32)

检查您的注册表中是否有此密钥:

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

如果你有一个,那就意味着.bat扩展名目前与记事本相关联(或者由该节点下的“Progid”键定义的另一个程序)。

备份您的注册表并删除此.bat“UserChoice”节点。

然后你的.bat文件应该正常运行。

答案 1 :(得分:14)

我在Windows 10上遇到了类似的问题,所有的bat文件都是用Notepad ++打开的。

我去了解决了 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.bat并将Data值从Notepad++_file更改为batfile

此解决方案也解决了Windows 7上的问题。

答案 2 :(得分:10)

另一个常见的错误是设置“隐藏已知文件类型的扩展名”,这意味着尽管文件名称为

“----。bat”

真的是

“-----。bat.txt”。

您需要进入“文件夹选项 - >查看选项”以解开此问题。

答案 3 :(得分:9)

检查assocftype。默认情况下,这应该是:

C:\>assoc .bat
.bat=batfile

C:\>ftype batfile
batfile="%1" %*

如果不是,请参阅assoc /?ftype /?如何更改。

答案 4 :(得分:2)

以管理员身份打开控制台,然后键入:glm_quat_rotate_at

答案 5 :(得分:0)

尝试右键单击它,将鼠标悬停在“打开方式”上并选择“命令提示符”。

作为批处理文件的开发者,默认情况下,Windows会打开带有记事本的.bat。没有编写它们的人可能会默认使用命令行启动该文件。

答案 6 :(得分:0)

检查以确保它是属性安全选项卡下的可执行文件。

答案 7 :(得分:0)

这是我的解决方案:

这是要删除的条目:

HKEY_CURRENT_USER \ SOFTWARE \微软\微软\的Windows \ CurrentVersion \ Explorer中\ FileExts.bat

重新启动后再次检查文件关联。它现在应显示Name = .bat,Description = Windows Batch File,Current Default = Unknown application。通过此关联,您的bat文件应该正常执行。

答案 8 :(得分:0)

在我的情况下,没有一个答案有效,因为我将Notepad ++作为文本编辑器并且.bat文件与之关联。因此,如果您使用Notepad ++打开它并转到:

配置/偏好/文件关联

并从Registered Extensions中删除.bat条目。

答案 9 :(得分:0)

与原始问题相反,我想双击以在编辑器中打开.cmd和.bat文件。

我用过:

assoc .cmd="C:\Program Files (x86)\Notepad++\notepad++.exe"

ftype cmdfile="C:\Program Files (x86)\Notepad++\notepad++.exe" %1

因此,双击。cmd文件将在选定的编辑器中打开

答案 10 :(得分:0)

几天后我遇到了这个问题,就我而言,我的公司PC对每个用户都有不同的注册表配置。当我尝试启动regedit,cmd或Chrome时,它被Notepad ++打开。

所以我的解决方案是:

通过taskmannager按下Control键启动cmd,然后单击,将为您当前登录的用户打开cmd。如果您运行此命令“ assoc | findstr / i“ txtfile”,您将看到.exe除了exefile之外还与txtfile关联

如果您在公司PC上,请通过以下命令“ runas / user:USERADMINOFYOURCORP cmd.exe”使用系统管理员用户登录当前打开的cmd,并输入密码

然后启动注册表编辑器,并在您是PC管理员的情况下进行搜索

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

其他

-HKEY_USERS {您在PC上的用户} \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts.exe 您会看到它已设置为txtfile。

因此,使用名称exefixer.reg创建该文件

Windows注册表编辑器5.00版

[-HKEY_USERS {您在PC上的用户} \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts.exe]

[-HKEY_USERS {您在PC上的用户} \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts.exe]

[-HKEY_USERS {您在PC上的用户} \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts.exe \ OpenWithList]

[-HKEY_USERS {您在PC中的用户} \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts.exe \ OpenWithProgids] “ exefile” = hex(0): 从cmd运行它

答案 11 :(得分:0)

通过将以下代码添加到新的文本文档中,

将以下代码另存为 .REG文件
不要忘记删除 .txt 保存时!
右键单击并合并新的 .REG 文件。
就这些!经过测试并可以正常工作:

 Windows Registry Editor Version 5.00 ;
 Created by: Shawn Brink ;
 http://www.sevenforums.com ;
 Tutorial: http://www.sevenforums.com/tutorials/19449-default-file-type-associations-restore.html [-HKEY_CLASSES_ROOT\.bat] [HKEY_CLASSES_ROOT\.bat] @="batfile" [HKEY_CLASSES_ROOT\.bat\PersistentHandler] @="{
    5e941d80-bf96-11cd-b579-08002b30bfeb
}
" [HKEY_CLASSES_ROOT\batfile] @="Windows Batch File" "EditFlags"=hex:30,04,00,00 "FriendlyTypeName"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,\ 00,6f,00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,\ 32,00,5c,00,61,00,63,00,70,00,70,00,61,00,67,00,65,00,2e,00,64,00,6c,00,6c,\ 00,2c,00,2d,00,36,00,30,00,30,00,32,00,00,00 [HKEY_CLASSES_ROOT\batfile\DefaultIcon] @=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\ 00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,6d,00,\ 61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,36,\ 00,38,00,00,00 [HKEY_CLASSES_ROOT\batfile\shell] @="" [HKEY_CLASSES_ROOT\batfile\shell\edit\command] @=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\ 00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\ 54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,25,00,31,00,00,\ 00 [HKEY_CLASSES_ROOT\batfile\shell\open] "EditFlags"=hex:00,00,00,00 [HKEY_CLASSES_ROOT\batfile\shell\open\command] @="\"%1\" %*" [HKEY_CLASSES_ROOT\batfile\shell\print] [HKEY_CLASSES_ROOT\batfile\shell\print\command] @=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\ 00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\ 54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,2f,00,70,00,20,\ 00,25,00,31,00,00,00 [HKEY_CLASSES_ROOT\batfile\shell\runas] "HasLUAShield"="" [HKEY_CLASSES_ROOT\batfile\shell\runas\command] @=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\ 00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,63,00,6d,00,\ 64,00,2e,00,65,00,78,00,65,00,20,00,2f,00,43,00,20,00,22,00,25,00,31,00,22,\ 00,20,00,25,00,2a,00,00,00 [HKEY_CLASSES_ROOT\batfile\shell\runasuser] @="@shell32.dll,-50944" "Extended"="" "SuppressionPolicyEx"="{
    F211AA05-D4DF-4370-A2A0-9F19C09756A7
}
" [HKEY_CLASSES_ROOT\batfile\shell\runasuser\command] "DelegateExecute"="{
    ea72d00e-4960-42fa-ba92-7792a7944c1d
}
" [HKEY_CLASSES_ROOT\batfile\ShellEx] [HKEY_CLASSES_ROOT\batfile\ShellEx\ContextMenuHandlers] @="Compatibility" [HKEY_CLASSES_ROOT\batfile\ShellEx\ContextMenuHandlers\Compatibility] @="{
    1d27f844-3a1f-4410-85ac-14651078412d
}
" [HKEY_CLASSES_ROOT\batfile\ShellEx\DropHandler] @="{
    86C86720-42A0-1069-A2E8-08002B30309D
}
" [-HKEY_CLASSES_ROOT\SystemFileAssociations\.bat] [-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat] 

答案 12 :(得分:-2)

只需拖动删除文件到命令提示符

答案 13 :(得分:-2)

我过去两天都在苦苦挣扎,我经历了很多帖子,几乎每个地方都告诉同样的事情通过以下内容删除文件
HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts.bat \ UserChoice,但在我的注册表中我找不到FileExts然后最终我得到了解决方案。 点击以下链接 http://www.sevenforums.com/tutorials/19449-default-file-type-associations-restore.html 选择BAT选项单击bat链接,exe将下载运行下载的exe。重启系统它会正常工作。

答案 14 :(得分:-2)

Windows 7一直都是这样做的。

最好保留一个方便花花公子的lil .reg文件来修复它 - 比每次编辑注册表更简单,更简单。

复制此内容 - 粘贴到记事本中 - 给它一个你能记住的文件名,这样你就可以知道它的功能和用途,当你把它粘贴到记事本中时,请确保你没有; t有任何额外的空格或回车。并不总是'影响它,但我已经看到它在两个人的时间里几乎没有了:

----------这一行下面的一切 - 不包括这一行----------

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.BAT]

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.BAT\OpenWithList]

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.BAT\OpenWithProgids]
"batfile"=hex(0):

答案 15 :(得分:-2)

我看到了你的问题。

您的批处理文件可能无法使用.bat扩展名保存。

如果您在记事本中编辑批处理文件:请尝试:

  

转到以下部分:格式化(Mac)或将文件另存为(Windows)

     

找到显示格式的下拉框[在本例中为文本文档(.txt)]。

     

单击该框并找到所有文件。单击它进行替换,以便将其保存到批处理文件(或任何所需的文件扩展名)。

     

清除文本框并输入filename.bat。 (替换"文件名"使用您选择的名称。)

对于Notepad ++用户:

  

转到语言部分。

     

查找批次。

     

保存文件,它应保存为.bat文件。

希望这个解决了所有人的问题!

如果没有,我很确定你的默认文件关联有问题。幸运的是,有一种方法可以解决这个问题。

  

右键单击批处理文件,然后单击“属性”。

     

寻找"打开。"

     

查找可让您更改程序以打开文件的按钮。点击它。

     

很可能你在那里找不到CMD,所以点击浏览,你应该登陆Program Files [或Program Files(x86 / 64),具体取决于你所处的架构。)

     

退出程序文件并找到Windows \ System32。

     

点击该搜索栏并输入" cmd"。

     

双击CMD,它应被选为所有.bat文件的默认程序。

下次要在文本编辑器中编辑文件时,右键单击该文件并选择"使用Notepad ++编辑"或"编辑"。

希望这会有所帮助。