为什么此注册表数据值不会更新?

Why wont this registry data value update?

我正在编写批处理脚本来添加注册表项默认值,但它不会写入该值。该值需要为:

"C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE" /dde "%1"

我认为它与引号字符“”有关,但无法弄清楚如何让批处理脚本理解这需要在数据值中。

这是我正在使用的:

REG ADD HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\command /ve /d "C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE" /dde "%1" /f
REG ADD "HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\command" /ve /d "\"C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE\" /dde \"%%1\"" /f

您需要转义内部引号和 %1 被解析器替换,解析器将其视为批处理文件的第一个参数