日期:2014-05-17  浏览次数:20864 次

如何让注册表中的值可以随环境变量变化而改变???
我的xp系统在开机时执行了一个bat程序,内容如下:

e:
mkdir e:\work\log\%date:~0,4%\%date:~5,2%\%date:~0,4%%date:~5,2%%date:~8,2%

也就是说,每天上班电脑开机后,都会自动在e盘建立以当天日期为名称文件夹,这样做减少了我每天处理工作前的重复操作。
但是,我发现我经常用的几个软件:word\excel\ultraedit\outlook每次用 打开文件、另存为或者保存几个功能时弹出的对话框都是在桌面或者其他非当前日期文件夹,有没有什么办法可以使得上述几个常用软件时文件夹自动自动定位到当前日期目录???
我本来以为修改注册表应该可以,但是不知道应该修改哪些地方;
另外,好像注册表里面的值不能用bat生成的环境变量,不知道是不是?我该怎么做?
这些小改动对于我提升工作效率有极大帮助?哪位大哥知道,请详细指点。

------解决方案--------------------
但是,我发现我经常用的几个软件:word\excel\ultraedit\outlook每次用 打开文件、另存为或者保存几个功能时弹出的对话框都是在桌面或者其他非当前日期文件夹,有没有什么办法可以使得上述几个常用软件时文件夹自动自动定位到当前日期目录???
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
一般情况下像word这类软件里有默认保存位置的选项,当设置了这个选项后,这个选项的值会保存在注册表或者ini之类的配置文件中,我们只要通过命令行先修改了这些选项就可以达到你的要求。

这里以word为例,默认保存位置选项的值保存到注册表的如下位置(a.reg文件):
a.reg

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Word\Options]
"DOC-PATH"="D:\\ABC\\"

现在知道了这个选项的保存位置后,那我们想指定到其它位置时,就可以将这些信息直接导入修改注册表好了
导入注册表命令参考:reg import a.reg

这里只是导入一个指定好位置(D:\ABC\),如何能的把当前日期的目录(也就是动态的)写入到这个准备要入到注册表的a.reg文件呢?
可以利用dos下的管道符">"将你的当前日期的目录(也就是动态的)写入到文件,假如:
建立可生成当前日期的目录的脚本bat文件
echo md e:\%date% >E:\tt.bat

如上的reg文件也可如下,生成动态的reg文件(这里的">"与">>"区别是前者将内容写入到文件,后者是将内容追加到文件尾部)
echo Windows Registry Editor Version 5.00 >e:\a.reg
echo [HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Word\Options] >>e:\a.reg
echo "DOC-PATH"="D:\\%date%\\" >>e:\a.reg

现在可以导入这个a.reg文件来达到修改word的默认保存目录为当前日期



那我从何得知word的默认保存位置是记录在注册表的哪里,excel等的又是哪里
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
这里用到一个注册表监视工具RegMonitor,通过它你可以监视注册表的位置。

方法:
1、运行监视工具
2、打开word,进入word的选项页,尝试几次默认保存位置的修改(如:e:\abc\)
3、观察监视工具,看有哪些位置的值被修改为E:\ABC\
4、找到这个注册表值的位置

------解决方案--------------------
写了个 小程序  
实现了office默认保存目录的修改(支持2003-2013的 word execl outlook)
按日期建目录 等



下载地址
http://download.csdn.net/detail/doufuxadf/5975497

office版本的识别有些问题,会把你卸载后的office版本也识别出来(通过注册表识别的) 这时要自己选一下版本
写注册表 杀毒软件会提示修改注册表 

注册修改的地方为