标题: [系统增强] “打开/另存为”对话框位置栏批处理修改器[2009.3.13更新] [打印本页]
作者: namejm 时间: 2009-3-12 18:22 标题: “打开/另存为”对话框位置栏批处理修改器[2009.3.13更新]
当我们使用诸如记事本、word之类的软件菜单栏里的“打开”或“另存为”按钮的时候,系统会弹出一个对话框让大家定位文件路径。为了快速定位到一些常用的位置,微软在对话框的左侧为大家准备了5个常用路径,分别是:我最近的文档、桌面、我的文档、我的电脑、网上邻居。
按理说,微软的这个设计是比较贴心的。可是,每个用户都有自己独特的操纵习惯,经常打开的路径是千差万别的,而微软并没有在前台界面开放重设这5个路径的功能,需要通过各种各样的工具软件深入注册表内部做调整。目前网上有这个功能的工具软件较为罕见,于是萌发了用批处理做一个调整“打开/另存为”对话框位置栏工具的念头。经过一番摸索,得到了以下代码,发出来共享之。
这个批处理具有如下功能:
1、自行指定“打开/另存为”对话框位置栏的路径;
2、重新调整自行指定路径的顺序
使用这个批处理调整前后效果对比:
[attach]1018[/attach][attach]1020[/attach]
支持多种输入方式:
[attach]1019[/attach]
注意事项:
1、最多只能修改5个路径;
2、若系统是XP_SP1或XP_SP2,系统自带的reg.exe在查询中文路径的时候,会出现“吃字”现象,请用附件中的reg.exe替换之,或放在批处理的相同目录下使用;若不知道reg.exe“吃字”是怎么回事,请阅读这篇文章:reg requery查询注册表时中文路径会"吃掉"最后的字符?http://www.cn-dos.net/forum/viewthread.php?tid=22202
3、代码没有做全面的容错检测,请严格按照提示操作,否则,将不能正确修改路径。复制代码
部分常用类标识符(CLSID):- 我的电脑 {20D04FE0-3AEA-1069-A2D8-08002B30309D}
- 我的文档 {450D8FBA-AD25-11D0-98A8-0800361B1103}
- 打印机 {2227A280-3AEA-1069-A2DE-08002B30309D}
- 网上邻居 {208D2C60-3AEA-1069-A2D7-08002B30309D}
- 回收站 {645FF040-5081-101B-9F08-00AA002F954E}
- 公文包 {85BBD920-42A0-1069-A2E4-08002B30309D}
- 控制面板 {21EC2020-3AEA-1069-A2DD-08002B30309D}
- WEB文件夹{BDEADF00-C265-11D0-BCED-00A0C90AB50F}
- 历史记录 {FF393560-C2A7-11CF-BFF4-444553540000}
- 收藏夹 {1A9BA3A0-143A-11CF-8350-444553540000}
复制代码
作者: 小勇12 时间: 2009-3-12 21:26
下回去研究,谢谢!!!
作者: 鹤冲天 时间: 2009-3-12 22:14
支持!!
希望能有更多实用程序发布!!
作者: tireless 时间: 2009-3-12 22:15
◆ 组策略里可以设置 —— 用户配置→管理模板→Windows组件→Windows资源管理器→通用打开文件对话框。
◆ 有个小软件
◆ 输入类标识符,在我这里无效(系统:xp sp2 中文版)。有两个方法添加“我的电脑”等这些,添加下面的英文或里面的 dword 值:
CommonDocuments (2e), CommonMusic (35), CommonPictures (36) , Desktop (0), MyComputer (11), MyDocuments (5), MyFavorites (6), MyMusic (d), MyNetworkPlaces (), MyPictures (27), Printers (4), ProgramFiles (), Recent (8) ...
◆ 运行批处理,我这始终显示:
位置序号 对应的路径
——————————————————
1 ""
2 ""
3 ""
4 ""
5 ""
——————————————————
[ 本帖最后由 tireless 于 2009-3-12 22:41 编辑 ]
作者: namejm 时间: 2009-3-12 22:32
深度那款软件以前用过,还用过其他几款,以前一直没有找到在哪里修改注册码,这两天在网上无意中发现了这方面的资料,于是就动了写批处理的念头。
组策略里以前也曾经玩过几次,但是需要层层展开,指指点点,进进出出几次之后,就感到太过繁琐而放弃了。
添加类标识符需要在前面加上连续的两个半角冒号:: ,忘记说了,马上添加说明。添加dword值的资料也查到了,下一步打算支持这种输入方式。
作者: tireless 时间: 2009-3-12 22:45 标题: 回复 5楼 的帖子
使用 RegFromApp 可以很方便地显示出软件对注册表的改动。
作者: namejm 时间: 2009-3-12 22:55
显示路径为空的原因是:论坛会把Tab键识别为一般空格,代码复制回去后,还要把第一条for中的Tab字符串替换为一个跳格键。已经在顶楼做了更新说明。
作者: Batcher 时间: 2009-3-12 22:56 标题: 回复 6楼 的帖子
我一般用RegSnap,呵呵,下次试试你这个。
【分享】
Outlook的“另存为”在注册表的这个地方设置:- reg add "HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Options" /v DefaultPath /t REG_SZ /d "C:\Users\%username%\Desktop" /f
复制代码
Outlook 2016 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Outlook\Options
Outlook 2013 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Outlook\Options
Outlook 2010 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\14.0\Outlook\Options
Outlook 2007 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\12.0\Outlook\Options
Outlook 2003 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\11.0\Outlook\Options
参考:https://www.outlook-tips.net/tips/change-outlooks-open-save-attachments-folder/
作者: tireless 时间: 2009-3-12 23:10 标题: 回复 8楼 的帖子
RegFromApp 只要选择要跟踪的程序,然后对这个“程序”进行操作,注册表的改动就会即时显示在 RegFromApp 窗口。而 RegSnap 要生成前后注册表的快照,再比较,这等待的过程太痛苦了...
作者: zqz0012005 时间: 2009-3-12 23:36 标题: 回复 6楼 的帖子
RegFromApp 倒没用过。一般是用Filemon+Regmon和RegSnap。以后试试。
作者: Batcher 时间: 2009-3-13 09:54 标题: 回复 7楼 的帖子
能否尝试在reg query那句中使用其它方法,别用tab呢?
作者: zqz0012005 时间: 2009-3-13 11:28 标题: 回复 7楼 的帖子
分隔符是空格或跳格键时无需指定,它们是默认的分隔符集。
论坛把tab转换为8个空格后,可能是由于下面的原因导致楼主的bat出错。
好像是for的一个bug:一般来说,多个相同字符会被当作一个字符(它们不是整体作为分隔符,新手往往问到这个问题)。但如果指定连续多个空格,空格将无法作为分隔符。
补充以前讨论的一个要点:如果分隔符集里面含有空格,空格必须放在最后。- @echo off
- for /f "delims=aa" %%a in ("1a2") do echo %%a
- rem 下面的“宽空格”是两个空格(也可以更多)
- for /f "delims= " %%a in ("1 2 3") do echo %%a
- for /f "tokens=1,2 delims=aa " %%a in ("1 2a3 4") do echo %%a.%%b.
- pause
复制代码
难道空格问题是因为上面那个特殊原因造成的?
[ 本帖最后由 zqz0012005 于 2009-3-13 12:27 编辑 ]
作者: Batcher 时间: 2009-3-13 11:41 标题: 回复 12楼 的帖子
另外,好像是for的一个bug:一般来说,多个相同字符会被当作一个字符(它们不是整体作为分隔符,新手往往问到这个问题)。
我觉得这个可能不适合称之为bug,因为人家for就是这样设计的,帮助里面也写的很清楚,当用多个字符作为分隔符时,它们之间是or的关系,多个相同字符之间进行or运算,结果自然是一个字符啦^_^
作者: zqz0012005 时间: 2009-3-13 11:42 标题: 回复 13楼 的帖子
我说的Bug是:“但如果指定连续多个空格,空格将无法作为分隔符。”
作者: namejm 时间: 2009-3-13 18:05
原帖由 Batcher 于 2009-3-13 09:54 发表
能否尝试在reg query那句中使用其它方法,别用tab呢?
呵呵,当初考虑问题复杂过头了,只想到不能把路径中的空格丢掉,所以还特意用了Tab键做分隔符。现在已经在顶楼更新了代码,不用再把复制下来的代码进行修改了。
作者: sjminh 时间: 2009-3-13 18:46
太牛逼了,写的很严谨嘛,我还是回去研究代码吧
作者: z8h8a8ng 时间: 2009-3-15 09:38
谢谢达,回去研究研究
作者: a794685135 时间: 2009-3-16 22:45
占个位置收藏了
作者: Batcher 时间: 2009-4-27 12:40
十六进制dword值对照表- 00 - Desktop
- 01 - Internet Explorer
- 02 - Start Menu\Programs
- 03 - My Computer\Control Panel
- 04 - My Computer\Printers
- 05 - My Documents
- 06 - Favorites
- 07 - Start Menu\Programs\Startup
- 08 - \Recent
- 09 - \SendTo
- 0a - \Recycle Bin
- 0b - \Start Menu
- 0c - - logical "My Documents" desktop icon
- 0d - My Music
- 0e - My Videos
- 10 - \Desktop
- 11 - My Computer
- 12 - My Network Places
- 13 - \NetHood
- 14 - WINDOWS\Fonts
- 15 - Templates
- 16 - All Users\Start Menu
- 17 - All Users\Programs
- 18 - All Users\Start Menu
- 19 - All Users\Desktop
- 1a - \Application Data
- 1b - \PrintHood
- 1c - \Local Settings\Application Data 1d - - Nonlocalized startup
- 1e - - Nonlocalized common startup
- 1f - Favorites
- 20 - Temporary Internet Files
- 21 - Cookies
- 22 - History
- 23 - All Users\Application Data
- 24 - WINDOWS directory
- 25 - System32 directory
- 26 - Program files
- 27 - My Pictures
- 28 - USERPROFILE
- 29 - - x86 system directory on RISC
- 2a - - x86 C:\Program Files on RISC
- 2b - C:\Program Files\Common
- 2c - - x86 Program Files\Common on RISC
- 2d - All Users\Templates
- 2e - All Users\Documents
- 2f - All Users\Start Menu\Programs\Administrative Tools
- 30 - - \Start Menu\Programs\Administrative Tools
- 31 - Network and Dial-up Connections
- 35 - All Users\My Music
- 36 - All Users\My Pictures
- 37 - All Users\My Video
- 38 - Resource Directory
- 39 - Localized Resource Directory
- 3a - Links to All Users OEM specific apps
- 3b - USERPROFILE\Local Settings\Application Data\Microsoft\CD Burning
复制代码
作者: China 时间: 2009-4-27 12:52
我用PlacesBar Editor,免费软件,界面也很直观:
官方:http://melloware.com/products/placesbarv1/
作者: Batcher 时间: 2009-5-8 23:53
按照这个方法修改注册表之后,对Office系列软件不起作用,楼主是否考虑增加对Office的支持呢?
可参考:https://bbs.et8.net/bbs/showthread.php?p=4310367
作者: linzuolou 时间: 2009-5-24 02:19 标题: dsfsdfsdf
sdfsdfdfdf
作者: pkhss 时间: 2009-8-10 13:26
找了半天的软件,哈哈
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |