标题: [已解决]取“我的文档”中出现的问题
[打印本页]
作者: 9zhmke
时间: 2008-5-14 15:11
标题: [已解决]取“我的文档”中出现的问题
自制一优化批处理,经调试没有问题后应用,在应用中发现一个问题,使用以下语句能显示出完整“我的文档”路径:
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Personal
但是使用这引语句重定向后,比如用“|”“>”后却不一定能正确工作。例如我的文档位置是在“d:\我的文档”
在有些系统下能取出正确位置,在有些系统下却只有“d:\我的”。
使用>后得到以下信息:
! REG.EXE VERSION 3.0
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
Personal REG_SZ D:\我的
为什么在有些系统下正确而有些系统下不正确?是字符限制引起的吗?我使用了以下命令来测试:
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"
显示仍然一切正常,但加上>cc.txt后得到以下内容:
! REG.EXE VERSION 3.0
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
AppData REG_EXPAND_SZ %USERPROFILE%\Application Data
Desktop REG_EXPAND_SZ %USERPROFILE%\桌
Favorites REG_SZ D:\我的文档\系统
NetHood REG_EXPAND_SZ %USERPROFILE%\NetHood
Personal REG_SZ D:\我的
PrintHood REG_EXPAND_SZ %USERPROFILE%\PrintHood
Programs REG_EXPAND_SZ %USERPROFILE%\「开始」?
SendTo REG_EXPAND_SZ %USERPROFILE%\SendTo
Start Menu REG_SZ D:\我的文档\系统?
Startup REG_EXPAND_SZ %USERPROFILE%\「开始」菜单
Templates REG_EXPAND_SZ %USERPROFILE%\Templates
My Pictures REG_SZ D:\我的文档\
Local Settings REG_EXPAND_SZ %USERPROFILE%\Local Settings
Local AppData REG_EXPAND_SZ %USERPROFILE%\Local Settings\Application Data
Cache REG_EXPAND_SZ %USERPROFILE%\Local Settings\Temporary Internet Files
History REG_EXPAND_SZ %USERPROFILE%\Local Settings\History
Administrative Tools REG_SZ C:\Documents and Settings\All Users\「开始」菜单\?
My Music REG_SZ D:\我的
My Video REG_SZ D:\我的
Recent REG_SZ D:\我的文档\系统设置\?
Cookies REG_EXPAND_SZ D:\我的文档\系统?
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\New
从以上内容可以看出,是因为把中文算成了两个字符造成的,所以只输出了一半的内容,该怎么解决呢?
经查看,这次使用的系统是LTM精简的XP,代码页中只有936和437两个选项。估计是这个原因造成的,由于437下不能显示中文,
只能在936下使用,是不是这个原因造成的呢?如果不用其他文件,能否在936下准确地提取到文档位置呢?
Last edited by 9zhmke on 2008-5-14 at 09:05 PM ]
作者: knoppix7
时间: 2008-5-14 18:57
REG.exe的恶心的BUG而已.
可以去2003/vista里面找一个reg过来代替以下.
作者: 9zhmke
时间: 2008-5-14 20:22
谢谢,原来可以用2003的来代替。
作者: 9zhmke
时间: 2008-5-14 21:04
用2003测试后出错,再替换regapi.dll也不行,使用XPsp3内的reg.exe替换后成功完成功能,没有以上错误。