添加带引号的注册表项数据

Add Registry Key Data With Quotes

我写了一个批处理,在指定的键下添加一个新的注册表值。数据值是一个文件路径,必须有外引号,如下所示:

"C:\Program Files\Microsoft Office\Office15\Library\Custom_AddIn.xlam"

但即使使用转义字符保留引号,我能得到的最接近的是这个(缺少第一个引号):

C:\Program Files\Microsoft Office\Office15\Library\Custom_AddIn.xlam"

使用此代码:

setlocal enableDelayedExpansion
setlocal ENABLEEXTENSIONS

SET VERSION=15.0
SET PATH="C:\Program Files\Microsoft Office\Office15\Library\Custom_AddIn.xlam"

REG add HKEY_CURRENT_USER\Software\Microsoft\Office\%VERSION%\Excel\Options /v OPEN /t REG_SZ /d %PATH%^" /f

如果我尝试将胡萝卜和引号添加到路径的开头,批处理根本不会添加值。

我也尝试过使用 \ 来保持引号的效果相同:最后一个引号保留最后一个引号,开头一个保留值不被完全添加。

我在这里做错了什么?根据 this question 的答案,我所做的应该有效...

在设置变量时,引号需要在声明时转义,您还应该在 %PATH% 周围加上 \",如下所示:

setlocal enableDelayedExpansion setlocal ENABLEEXTENSIONS

设置版本=15.0 设置路径=\"C:\Program Files\Microsoft Office\Office15\Library\Custom_AddIn.xlam\"

REG 添加 HKCU\Software\Microsoft\Office\%VERSION%\Excel\Options /v OPEN /t REG_SZ /d "%PATH%" /f