批处理更新WinRAR自解压文件
2010/5/5 20:23:08
阅读全文(5677) | 回复(1) | 编辑 | 精华
随着网络用户的增加,使用内网电子邮件服务的内网用户也越来越多,指导安装邮件客户端和更新地址簿就成了经常性的工作。为了减少客户端安装的工作量,偶一次性将前期所有用户全部配置好,并制作成自解压文件,上传到FTP上。如果用户需要重新安装邮件客户端,只须登录FTP下载对应的自解压包,双击安装即可。但后来增加的用户,其邮箱地址在最新的地址簿中,前期配置并制作的客户端自解压包中还使用旧的地址簿。由于担心病毒感染,客户端自解压包被锁定了,实在不方便往里更新文件。好在WinRAR支持命令行,批处理在这里就可以大显身手了。 @echo off&setlocal enabledelayedexpansion :: Qr,http://Qr.blogger.org.cn :: 2010/05/05 cls set tmpforder=临时文件夹 rd /s /q %tmpforder% & md %tmpforder%>nul set fname=dept.txt cd.>%fname% for %%i in (*.exe) do ( set fn=%%i for /d %%j in (!fn!) do echo %%j >> %fname% ) for /f %%i in (!fname!) do ( set str=%%i set str=!str:~0,-4! rd /s /q mail echo 正在解压自解压包: {%%i}&echo. "C:\Program Files\WinRAR\RAR.exe" x -o+ -y "%%i">nul echo 正在替换 {!str!} 的地址簿...&echo. copy /y address mail\address echo. echo 正在重建 {!str!} 自解压包...&echo. "C:\Program Files\WinRAR\WinRAR.exe" a -as -k -r -sfx -zremarks.txt "!tmpforder!\!str!" mail echo ***********************************&echo. ) echo.&echo.&echo 压缩包处理完毕! pause 简单解释一下以上代码: 第一个for循环输出当前目录下所有的自解压文件(后缀为exe); 第二个for循环依次解压客户端自解压文件,并更新地址簿文件,然后重新打包生成客户端自解压包。 软件下载站点有多少个是提供原创下载的,不都是从别人的站点上DOWN下来,更新自己的下载点信息后重新打包上传到自己的站点上供用户下载吗?!这个东西可以用得上,虽然功能上还需要提升,不过对于自己来说,简单的应用足以,而且可以灵活的改变,满足不同情况下的需要,何必专门上网搜哪些“专业”的工具?!下来了还不一定好用,还是那句话,自己动手,丰衣足食。
Posted by Qr on 2010/5/5 20:23:08
回复:批处理更新WinRAR自解压文件
2010/8/11 9:36:48
个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
额,你刚好和我相反,我之前是处理压缩……
Posted by Kinogam on 2010/8/11 9:36:48
发表评论: |