在 Windows 上,如何在 .XML 文件上添加资源管理器上下文菜单?

在 Windows 上,如何在 .XML 文件上添加资源管理器上下文菜单?

我使用以下注册表宏在 .XML 文件上添加上下文菜单

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\xmlfile\shell\FormatXML]
@="Format-XML"

[HKEY_CLASSES_ROOT\xmlfile\shell\FormatXML\command]
@="D:\\Program Files (x86)\\Tools\\XFormat\\XFormat.bat %1"

目前,我收到了一台装有 Windows 7 的新电脑,我运行相同的注册表脚本来添加资源管理器上下文菜单。现在,当我检查菜单是否可见时,我什么也没看到!

我已修改我的注册表脚本以使用“ .xml”而不是“xmlfile”来定义相同的上下文,但什么也没有发生。

然后我将“.xml”替换为“.txml”,将 XML 文件类型更改为 TXML,...这样就可以了。

会发生什么 ?

如何在 XML 文件上定义资源管理器上下文菜单?

我的 XML 注册表如下

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.xml]
@="xmlfile"
"Content Type"="text/xml"
"PerceivedType"="text"

[HKEY_CLASSES_ROOT\.xml\OpenWithProgids]
"VisualStudio.xml.10.0"=""
"VisualStudio.xml.d25f0747"=""

[HKEY_CLASSES_ROOT\.xml\PersistentHandler]
@="{7E9D8D44-6926-426F-AA2B-217A819A5CCE}"

[HKEY_CLASSES_ROOT\.xml\shell]

[HKEY_CLASSES_ROOT\.xml\shell\FormatXML]
@="Format-XML"

[HKEY_CLASSES_ROOT\.xml\shell\FormatXML\command]
@="D:\\Program Files (x86)\\Tools\\XFormat\\XFormat.bat %1"

答案1

这是一个老问题,但自从它浮到顶部以来......

编辑失败的最可能原因是它创建的条目中既没有可执行文件/bat 的路径,也没有参数(%1)的完整限定路径未被引用,因此当路径中有空格时将会失败:

在此处输入图片描述

如果添加必要的引号:

在此处输入图片描述

并且导出该条目,.reg文件将变成:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\xmlfile\shell\FormatXML\command]
@="\"D:\\Program Files (x86)\\Tools\\XFormat\\XFormat.bat\" \"%1\""


请注意转义的引号。

当 regedit 可以充当所见即所得的编辑器时,就无需.reg从头编写文件并担心转义序列。如果需要修改路径或克隆到其他 ProgID,则在 regedit 中创建条目然后编辑导出的文件要容易得多。

答案2

现在,在 Windows 10 上,我在电脑上使用的解决方案如下

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\SystemFileAssociations\.xml\shell\FORMAT-XML\command]
@="C:\\Script\\FORMAT-XML\\FORMAT-XML.bat \"%L\""

相关内容