中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [讨论]很奇怪的REG ADD命令问题
作者:
标题: [讨论]很奇怪的REG ADD命令问题 上一主题 | 下一主题
HUNRYBECKY
银牌会员





积分 1179
发帖 442
注册 2006-9-9
状态 离线
『楼 主』:  [讨论]很奇怪的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参数内容。

不知道大家注意这个问题没有?没有方法可以完美的解决这个问题?虽然大多数路径可以把最后一个\去掉,但有些特殊软件,必须保留最后一个\才行.

2007-3-15 03:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qzwqzw
银牌会员

天的白色影子


积分 2342
发帖 635
注册 2004-3-6
状态 离线
『第 2 楼』:  

值中没有空格时,可以不用引号

有空格时,\可以改用\\

2007-3-15 07:12
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HUNRYBECKY
银牌会员





积分 1179
发帖 442
注册 2006-9-9
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by qzwqzw at 2007-3-15 07:12:
值中没有空格时,可以不用引号

有空格时,\可以改用\\

谢谢回复,在你发贴之前,我已经找到了这个方法,因为很忙,所以,没有时间上来。谢谢。

2007-3-15 12:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: