.cmd 从 cmd.exe 运行,但不从开始菜单/运行对话框运行

.cmd 从 cmd.exe 运行,但不从开始菜单/运行对话框运行

问题

.cmd如果我从中运行文件cmd.exe,它工作正常。但是,如果我从Start menu / Run行中运行它,它会在我的编辑器 Notepad++ 中打开。(编辑我已经安装了好几年了,最近没有更新过。但是,这个带有.cmds 的现象是最近才开始的。)

两次我都使用了完整的绝对路径。我使用的是 Windows 7 x64。

注册表

HKLM/Software/Classes/cmdfile/shell/open/command(Default)设置为"%1" %*并且.cmd既在 中也在(Default)中并且中没有。cmdfileHKLMHKCUcmdfileHKCU

但是我没有检查其他键/不了解它们的含义或重要性,特别是我不知道跟踪 clsid 值的简单方法,也不知道它们作为给定键的含义。

上下文菜单

如果我右键单击.cmd粗体文本是它的名字编辑) 说“打开“。但即使从这里,如果我单击打开,它也会在我的文本编辑器 notepad++ 中打开。

图标(已编辑)如果我转到资源管理器中的文件夹,该图标就是 Notepad++ 图标。

问题

为什么运行行的行为与命令行不同?

我怎样才能.cmd从运行对话框中恢复我的运行?

答案1

备份注册表。

之后,您应该删除以下键下带有“Notepad++”的所有值:

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

我在那里拥有的唯一钥匙是:

REGEDIT4

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

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

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

答案2

听起来好像您以某种方式改变了 .cmd 文件的默认文件关联。

导航到任何 .cmd 文件:

  • 右键单击并选择属性
  • 当你看到“打开方式”时 -> 点击
  • 导航到 %Systemroot%\System32\
  • 选择cmd.exe

你的默认关联现在应该已经修复了!

答案3

在 Windows 7 中,如果您不想编辑注册表,则可以通过“开始”>“控制面板”>“默认程序”>“将文件类型或协议与特定程序关联”。(通常需要很长时间才能加载!)“.cmd”应与“Windows 命令脚本”关联。由于显然不是,请单击“更改程序”,浏览到 \windows\system32\cmd.exe 并选择它,选中“始终使用”复选框,这样应该可以修复关联。

或者您可以直接在注册表中执行此操作,但位置将位于 HKEY_CLASSES_ROOT 下,文件关联在此设置。CMD 文件默认与“纯文本持久处理程序”关联。默认值为:

======= 对于 .CMD 扩展名 ============

REGEDIT4

[HKEY_CLASSES_ROOT\.cmd]
@="cmdfile"

[HKEY_CLASSES_ROOT\.cmd\PersistentHandler]
@="{5e941d80-bf96-11cd-b579-08002b30bfeb}"

====== 对于 CMDFILE 类型 ================

REGEDIT4

[HKEY_CLASSES_ROOT\cmdfile]
@="Windows Command Script"
"EditFlags"=hex:30,04,00,00
"FriendlyTypeName"=hex(2):40,25,53,79,73,74,65,6d,52,6f,6f,74,25,5c,53,79,73,\
  74,65,6d,33,32,5c,61,63,70,70,61,67,65,2e,64,6c,6c,2c,2d,36,30,30,33,00

[HKEY_CLASSES_ROOT\cmdfile\DefaultIcon]
@=hex(2):25,53,79,73,74,65,6d,52,6f,6f,74,25,5c,53,79,73,74,65,6d,33,32,5c,69,\
  6d,61,67,65,72,65,73,2e,64,6c,6c,2c,2d,36,38,00

[HKEY_CLASSES_ROOT\cmdfile\shell]

[HKEY_CLASSES_ROOT\cmdfile\shell\edit]

[HKEY_CLASSES_ROOT\cmdfile\shell\edit\command]
@=hex(2):25,53,79,73,74,65,6d,52,6f,6f,74,25,5c,53,79,73,74,65,6d,33,32,5c,4e,\
  4f,54,45,50,41,44,2e,45,58,45,20,25,31,00

[HKEY_CLASSES_ROOT\cmdfile\shell\open]
"EditFlags"=hex:00,00,00,00

[HKEY_CLASSES_ROOT\cmdfile\shell\open\command]
@="\"%1\" %*"

[HKEY_CLASSES_ROOT\cmdfile\shell\print]

[HKEY_CLASSES_ROOT\cmdfile\shell\print\command]
@=hex(2):25,53,79,73,74,65,6d,52,6f,6f,74,25,5c,53,79,73,74,65,6d,33,32,5c,4e,\
  4f,54,45,50,41,44,2e,45,58,45,20,2f,70,20,25,31,00

[HKEY_CLASSES_ROOT\cmdfile\shell\runas]
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\cmdfile\shell\runas\command]
@=hex(2):25,53,79,73,74,65,6d,52,6f,6f,74,25,5c,53,79,73,74,65,6d,33,32,5c,63,\
  6d,64,2e,65,78,65,20,2f,43,20,22,25,31,22,20,25,2a,00

[HKEY_CLASSES_ROOT\cmdfile\shell\runasuser]
@="@shell32.dll,-50944"
"Extended"=""
"SuppressionPolicyEx"="{F211AA05-D4DF-4370-A2A0-9F19C09756A7}"

[HKEY_CLASSES_ROOT\cmdfile\shell\runasuser\command]
"DelegateExecute"="{ea72d00e-4960-42fa-ba92-7792a7944c1d}"

[HKEY_CLASSES_ROOT\cmdfile\ShellEx]

[HKEY_CLASSES_ROOT\cmdfile\ShellEx\ContextMenuHandlers]
@="Compatibility"

[HKEY_CLASSES_ROOT\cmdfile\ShellEx\ContextMenuHandlers\Compatibility]
@="{1d27f844-3a1f-4410-85ac-14651078412d}"

[HKEY_CLASSES_ROOT\cmdfile\ShellEx\DropHandler]
@="{86C86720-42A0-1069-A2E8-08002B30309D}"

[HKEY_CLASSES_ROOT\cmdfile\ShellEx\PropertySheetHandlers]

[HKEY_CLASSES_ROOT\cmdfile\ShellEx\PropertySheetHandlers\ShimLayer Property Page]
@="{513D916F-2A8E-4F51-AEAB-0CBC76FB1AF8}"

[HKEY_CLASSES_ROOT\cmdfile\ShellEx\{8895b1c6-b41f-4c1c-a562-0d564250836f}]
@="{1531d583-8375-4d3f-b5fb-d23bbd169f22}"

相关内容