Board logo

标题: 我用for从注册表中解析用户桌面路径为何不完整 [打印本页]

作者: wanxibing     时间: 2008-12-12 21:33    标题: 我用for从注册表中解析用户桌面路径为何不完整
FOR /f "tokens=3 usebackq " %%i in (`Reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v desktop `) do set SID=%%i
运行结果 为 "D:\我的文档\Administrato"
还差了 "r/桌面"
注我的桌面为 D:\我的文档\Administrator\桌面
请高手指点



———————————————————————————————
转移自 DOS疑难解答 & 问题讨论 (解答室)
明显发错版块,因属论坛新手,暂不予以处罚,望今后一起注意。
——管理员
———————————————————————————————

作者: HAT     时间: 2008-12-12 23:22
XP SP2系统中的reg.exe有bug,当reg query遇到中文字符时可能会"吃字符",详见http://www.cn-dos.net/forum/viewthread.php?tid=22202

解决方案如下:
1. 用XP SP2以上的版本的操作系统(XP SP3/2003/Vista等)中的reg.exe来替换XP SP2的reg.exe
2. 调用VBS读注册表,并把返回结果传递给BAT
3. 用reg export把注册表项导出到一个临时文件,再搜索该文件

reg.exe of WinXP SP3 CS Pro
http://upload.cn-dos.net/img/867.zip