双击时 Windows 批处理文件未运行,如何恢复与 cmd.exe 的关联?

Bul*_*ush 5 batch batch-file windows-8 windows-10

Windows 8 64 位。我登录的用户具有管理员权限。当我打开 cmd 窗口时,窗口标题甚至显示“管理员:cmd.exe”。

\n\n

因此,我将 .bat 文件关联设置为在 Notepad++ 中打开 .bat 文件,现在当我双击它时,我无法将其设置回运行 bat 文件。我已经尝试了几个网页,告诉我编辑注册表,但无济于事。

\n\n

当我尝试将 .reg 文件合并到我的电脑中时,我收到错误“您没有权限”或其他内容。我的用户不是“管理员”,但我的用户“chuck”确实具有管理员权限。一直都是这样。

\n\n
    \n
  1. 我尝试了这种方法,这次 .reg 文件合并没有错误,但是当我双击 .bat 文件时,它仍然在 Notepad++ 中打开。我下载该文件只是为了更改 .bat 文件关联。我需要重新启动电脑吗?

  2. \n
  3. 我还尝试在此处进行注册表编辑:单击此处。它也不起作用。

  4. \n
  5. 无法在“控制面板”的“将文件扩展名与程序关联”中更改 .bat 文件扩展名。当我尝试将 cmd.exe 与 .bat 文件关联时,收到类似“您无法将该程序与该文件关联”之类的错误。

  6. \n
  7. 我找到了此链接,但 FileExts 下没有 .bat 文件条目。另外,在此链接上,我没有没有要删除的 UserChoice 键HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts\\.b\xe2\x80\x8c\xe2\x80\x8bat\\UserChoice

  8. \n
  9. 重新启动电脑,我仍然遇到同样的问题。我将确保 Notepad++ 每次运行时都不会恢复与其自身的关联。编辑:就 NPP 首选项而言,它不注册 .bat 文件。

  10. \n
\n\n

还有更多想法吗?我已经断断续续地处理这个问题3个月了。

\n\n

注意:此问题的某些修复适用于 Windows 7,但不适用于 Windows 8。

\n\n
\n\n

更新:修复了它。我不得不

\n\n
    \n
  1. 在我的桌面上创建 regedt32.exe 的快捷方式。
  2. \n
  3. 右键单击快捷方式并执行“以管理员身份运行”,即使我的用户具有管理员权限。
  4. \n
  5. 在整个注册表中搜索字符串“记事本”,我在其中发现了这个偷偷摸摸的小东西:HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\\\**Roaming**\\OpenWith\\FileExts\\\\.bat并删除了该UserChoice项目。
  6. \n
  7. 重新启动窗口。
  8. \n
\n

Dag*_*elf 5

恢复 cmd、bat 和 exe 关联的工作方式与其他文件类型不同。

要恢复这些,请以管理员身份运行 CMD.EXE,然后:

Microsoft Windows [Version 6.0.6003]
Copyright (c) 2006 Microsoft Corporation.  All rights reserved.

C:\Windows\system32>assoc .bat=exefile
.bat=exefile

C:\Windows\system32>assoc .cmd=exefile
.cmd=exefile
Run Code Online (Sandbox Code Playgroud)

就是这样!


小智 0

这假设您是管理员

您可以从命令行开始->运行->输入“cmd”(无引号)并按 Enter 键来设置关联

然后输入

cmd /c assoc .bat
Run Code Online (Sandbox Code Playgroud)

这将为您提供操作系统认为.bat 文件是/做什么/什么的文件类型

cmd /c ftype batfile
Run Code Online (Sandbox Code Playgroud)

这将为您提供“执行”文件时运行的命令 - 假设第一个命令返回“.bat=batfile”,您需要设置关联并使用此命令执行此操作

Ftype batfile="%1" %*
Run Code Online (Sandbox Code Playgroud)