2012-01-12 44 views
5

我已经解决我有关于插入%DATE%为REG_SZ注册表值(see link)的问题,但我现在遇到了一个稍微不同的问题,试图插入%〜 DP0(长源路径)转换成使用REG注册表值添加.BAT脚本内。它不会这样做,我相信这是因为我做错了什么。写作%〜DP0到注册表使用REG ADD

reg add "hklm\software\acme" /v "TestValue" /d "%~dp0" /t REG_SZ /f 

我也尝试将值设置为一个变量,但也不起作用。什么情况是,它插入扩展的路径没有前述双引号,但尾随双引号,然后用约REG错误炸弹/?语法等。

SET VX=%~DP0 
reg add "hklm\software\acme" /v "TestValue" /d "%VX%" /t REG_SZ /f 

有人看到我在做什么错了吗?

回答

5

路径%〜dp0以目录分隔符'\'结尾(例如'c:\ temp \'),该目录被解释为以下双引号字符的转义,因此解析器没有看到关闭双引号。你需要做的就是逃避与另一个尾随\字符:

reg add "hklm\software\acme" /v "TestValue" /d "%~dp0\" /t REG_SZ /f