标题: [讨论]很奇怪的REG ADD命令问题
[打印本页]
作者: HUNRYBECKY
时间: 2007-3-15 03:15
标题: [讨论]很奇怪的REG ADD命令问题
发现一个很奇怪的REG ADD命令的BUG,大家测试下:
我想在注册表的HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
写入"Recent"="D:\\USERDATA\\Temp\\Recent\\"但出现如下问题:
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /V "Recent" /T "REG_SZ" /D "D:\USERDATA\Temp\Recent\" /F
查注册表得到的结果是D:\USERDATA\Temp\Recent" /F,说明/F参数无效,当作/D参数的内容了,现在把/F参数提前.
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /F /V "Recent" /T "REG_SZ" /D "D:\USERDATA\Temp\Recent\"
查注册表得到的结果是:D:\USERDATA\Temp\Recent",奇怪,怎么多出了一个双引号".
经过分析发现:REG ADD 命令如果参数内容的最后一个字符是\的话将出现问题:无法识别放到最后的/F参数,虽然可以把/F参数提前,但是又引起了把\看成是/D参数结束的标志的错误,即把\去掉并把引号"作为/D参数内容。
不知道大家注意这个问题没有?没有方法可以完美的解决这个问题?虽然大多数路径可以把最后一个\去掉,但有些特殊软件,必须保留最后一个\才行.
作者: qzwqzw
时间: 2007-3-15 07:12
值中没有空格时,可以不用引号
有空格时,\可以改用\\
作者: HUNRYBECKY
时间: 2007-3-15 12:28
Quote: |
Originally posted by qzwqzw at 2007-3-15 07:12:
值中没有空格时,可以不用引号
有空格时,\可以改用\\ |
|
谢谢回复,在你发贴之前,我已经找到了这个方法,因为很忙,所以,没有时间上来。谢谢。