Board logo

标题: 设置Outlook Express路径问题 [打印本页]

作者: ronin     时间: 2006-11-20 03:05    标题: 设置Outlook Express路径问题

做光盘,为了保存用户的邮件资料,打算将Outlook Express和通讯录转移到D盘,使用代码是
reg add "HKEY_CURRENT_USER\Identities\{F4E98C86-4D9A-463F-920C-1DF555C3B434}\Software\Microsoft\Outlook Express\5.0" /v "Store Root" /t REG_EXPAND_SZ /d "D:\\Personal\\Outlook Express" /f
大家有没有使用过这样的代码,其实这样有很大的局限性,{F4E98C86-4D9A-463F-920C-1DF555C3B434}对每个系统都是不一样,怎么样根据系统代码来读取这个数值
还有就是批处理解决通讯录问题
作者: lxmxn     时间: 2006-11-20 04:34

  查找这个需要对系统注册表的CLSID非常熟悉,不过还是可以百度出来的. =_=   
  不知道这个通讯录是以什么形式保存的。?

作者: ronin     时间: 2006-11-20 04:52
我觉得应该是将CLSID读取出来做变量才现实,这样就很好写注册表
作者: Climbing     时间: 2006-11-20 07:35
我提供我的批处理的一个片断,仅供参考:
...

:: 定义Outlook Express文件存放位置
set outlook="D:\My Documents\My Mails\Outlook Express"

:: 修改Outlook Express的默认保存位置
set userid=
tfind > nul
reg query "HKCU\Identities" /v "Default User ID" | tfind "Default User ID" | lmod set USERID=[$5] > temp.bat
call temp.bat
del temp.bat
if "%userid%"=="" goto _quit
reg add "HKCU\Identities\%USERID%\Software\Microsoft\Outlook Express\5.0" /v "Store Root" /d %outlook% /f

:_quit
...
这个批处理写得很早了,现在完全可以使用find或者for来代替tfind和lmod这些第三方软件。
作者: ronin     时间: 2006-11-20 08:33
这个代码比较复杂,用第三方软件是比较麻烦,Climbing能不能给个不用第三方软件的代码
作者: Climbing     时间: 2006-11-20 10:14
将上面批处理中下面几行:
tfind > nul
reg query "HKCU\Identities" /v "Default User ID" | tfind "Default User ID" | lmod set USERID=[$5] > temp.bat
call temp.bat
del temp.bat
替换为:
for /f "usebackq tokens=4,*" %%i in (`reg query "HKCU\Identities" /v "Default User ID" ^| find /i "Default User ID"`) do set UserID=%%j
这样就没有任何第三方软件了。
作者: ronin     时间: 2006-11-20 22:50
谢谢Climbing,代码如下,包括通讯簿备份

:: 修改Outlook Express的默认保存位置
set userid=
for /f "usebackq tokens=4,*" %%i in (`reg query "HKCU\Identities" /v "Default User ID" ^|

find /i "Default User ID"`) do set UserID=%%j
if "%userid%"=="" goto _quit
reg add "HKCU\Identities\%USERID%\Software\Microsoft\Outlook Express\5.0" /v "Store Root" /d

"D:\个人重要资料\Outlook Express" /f

:: 修改Outlook Express通讯簿的默认保存位置
reg add "HKEY_CURRENT_USER\Software\Microsoft\WAB\WAB4\Wab File Name" /v "" /t REG_SZ /d "D:\个人重要资料\Outlook Express\Address Book\Administrator.wab" /f >nul 2>nul

:: 转移Outlook Express的通讯簿
xcopy %USERPROFILE%\Application Data\Microsoft\Address Book\*.wab "D:\个人重要资料\Outlook Express\Address Book" /e /y >nul 2>nul

[ Last edited by ronin on 2006-11-20 at 11:29 PM ]