201503111714 BAT批处理实现注册表查找替换
8年前 (2015-03-11) 作者:iMoke 分类:原创·技术 阅读次数:4827 评论(3)酒店需要更换外网邮件服务器,原来的pop和smtp是一个,而新的服务器是两个。
酒店一共有50多个拥有外网邮箱的员工,如果一个一个更换,很累。
通过技术查找,查明OE的配置文件保存在注册表中。
故决定使用批处理文件批量实现员工电脑的配置变更。
经过两天的努力,用批处理(bat)实现注册表的查找与替换功能,终于实现了。
前提:
酒店需要更换外网邮件服务器,
原来的邮件服务器,pop协议和smtp协议在一台服务器上,都是mail.imoke.org域名。
而新的企业邮箱,把这两个协议区分开,放到两个服务器上了。一个用pop.imoke.org,一个用stmp.imoke.org。
酒店一共有50多个拥有外网邮箱的员工,如果一个一个更换,很累。
通过技术查找,查明OE的配置文件保存在注册表中。
故决定使用批处理文件批量实现员工电脑的配置变更。
代码如下:
2015年3月12日 09:47:51最终版:
@echo off setlocal enabledelayedexpansion :: 中断当前OE进程 taskkill /f /im msimn.exe ::检测是否更新过 cls if exist "D:\HS\imoke\mailok.imoke" ( echo. echo 您已更新过,重启Outlook Express测试。如果仍有问题,请联系电脑房,电话 3848,3818 echo. echo 按任意键退出程序并重启Outlook Express...... pause>nul start msimn.exe exit ) :begin ::定义注册表路径循环 for /l %%a in (1,1,5) do ( Set "regpath=HKCU\Software\Microsoft\Internet Account Manager\Accounts\0000000%%a" ::查找定义 Set "findstr1=POP3 Server" Set "findstr2=SMTP Server" Set "find1=mail.rosedalesy.com.cn" Set "find2=mx8.dns.com.cn" Set "newpop=pop.rosedalesy.com.cn" Set "newsmtp=smtp.rosedalesy.com.cn" Set a="" echo 搜索%%a echo !regpath! for /f "tokens=1* delims=_" %%1 in ('reg query "!regpath!" /v "!findstr1!" ^| findstr /i "!findstr1!"') do for /f "tokens=1*" %%3 in ("%%~2")do Set "a=%%4" echo a=!a! echo find=!find1! ::如果相同则替换 if "!a!"=="!find1!" ( echo 执行修改1 echo !regpath! echo findstr1=!findstr1! echo findstr2=!findstr2! echo newpop=!newpop! echo newsmtp=!newsmtp! reg add "!regpath!" /v "!findstr1!" /t REG_SZ /d !newpop! /f reg add "!regpath!" /v "!findstr2!" /t REG_SZ /d !newsmtp! /f ) if "!a!"=="!find2!" ( echo 执行修改2 echo !regpath! echo findstr1=!findstr1! echo findstr2=!findstr2! echo newpop=!newpop! echo newsmtp=!newsmtp! reg add "!regpath!" /v "!findstr1!" /t REG_SZ /d !newpop! /f reg add "!regpath!" /v "!findstr2!" /t REG_SZ /d !newsmtp! /f ) echo 查找%%a结束 ) ) cls md D:\HS\imoke\ echo %date% %time% 更新完成,按任意键退出。>>D:\HS\imoke\mailok.imoke start msimn.exe pause>nul exit
经测试,无论电脑账户多少,都可以自动执行替换,不修改其它配置,安全无害。
参考资料:
http://tieba.baidu.com/p/584164771
http://www.jb51.net/article/31284.htm
http://www.jb51.net/article/17928.htm
cmd自带帮助(/?)
马上下班了,今天累的眼睛都快看不见了。
这样不行……
爱生活,爱自己。
除非注明,发表在“傲孤漠客”的文章『201503111714 BAT批处理实现注册表查找替换』版权归iMoke所有。
转载请注明出处为“本文转载于『傲孤漠客』原地址https://www.imoke.org/post/20150311848.html”
评论
发表评论