Board logo

标题: [特效代码] 利用WINRAR写的批处理备份数据,如何输出错误报告 [打印本页]

作者: yangzhan1978    时间: 2008-11-5 16:10     标题: 利用WINRAR写的批处理备份数据,如何输出错误报告

@echo off
echo 数据库开始备份,时间长请等待......................
C:\progra~1\winrar\winrar.exe a -agyyyy-MM-dd -k -r -s  -hp123456  -ibck d:\备.rar  e:\数据库1  f:\数据库2  f:\数据库3  g:\数据库4
echo 备份已经结束
pause
a    添加指定的文件和文件夹到压缩文件中
-ag  以当前日期生成压缩文件名   (yyyy-MM-dd)日期格式
-k   锁定压缩文件
-r   返回子文件夹
-s   创建固实压缩文件
-hp  加密所有包括文件数据、文件名、大小、属性、注释和其它块等所有可感知压缩文件区域
-ibck当开始压缩或是解压操作时,将 WinRAR 最小化放到任务栏指示区
上面的批处理命令是利用winrar把几个文件同时压进一个压缩包,配合WINDOWS的任务计划可以做一些数据库的简单备份,但是现在有个问题小弟搞不定,希望各位大虾不吝指教。
例如:
    该批处理文件运行的时候E:\数据库1中有一个文件AAA正在被其他程序调用,那么 winrar就会提示:
    !   d:\备yyyy-MM-dd.rar: 无法打开 E:\数据库1\AAA
    !   另一个程序正在使用此文件,进程无法访问。
这个时候WINRAR虽然没有停止工作,但是我希望批处理命令能够自动关闭(忽略)该诊断信息,并且在关闭(忽略)的同时把出错的文件名及时间(精确到分)写进一个txt中,比如在d盘生成一个error.txt(那么我在上面的批处理中该加入什么)?
作者: Batcher    时间: 2008-11-5 16:29

提示: 该帖被管理员或版主屏蔽
作者: yangzhan1978    时间: 2008-11-5 16:34

加了2>>"D:\error.txt"以后并没有得到错误信息,只是在每次运行该批处理以后在D盘生成了个error.txt,哪怕就是没出错也会生成,里边内容为空的。
作者: Batcher    时间: 2008-11-5 16:48     标题: 回复 3楼 的帖子

提示: 该帖被管理员或版主屏蔽
作者: Batcher    时间: 2008-11-5 16:57

http://bbs.bathome.net/thread-2436-1-1.html\
帖子被锁以后,应该及时去修改标题,而不是重新发帖。
2楼、4楼的代码,我自己屏蔽了。
作者: fastslz    时间: 2008-11-5 19:06

  1. C:\progra~1\winrar\winrar.exe a -agyyyy-MM-dd -k -r -s -hp123456 -ibck -ilogD:\error.txt -inul d:\备.rar e:\数据库1 f:\数据库2 f:\数据库3 g:\数据库4
复制代码

作者: yangzhan1978    时间: 2008-11-6 11:44

这个-inul 关闭错误信息的命令可以实现,但是-ilogD:\error.txt写入错误信息的命令无法实现,因为照你这个命令来看就有个矛盾,错误信息已经被关闭,拿什么写入错误报告中,非常感谢你的帮助,希望还能再帮我想想其他办法。
作者: yangzhan1978    时间: 2008-11-6 11:46

下面还有个重复的帖子,原来是被锁定的,斑竹帮我删了吧,谢谢
作者: fastslz    时间: 2008-11-7 12:23

原帖由 yangzhan1978 于 2008-11-6 11:44 发表
这个-inul 关闭错误信息的命令可以实现,但是-ilogD:\error.txt写入错误信息的命令无法实现,因为照你这个命令来看就有个矛盾,错误信息已经被关闭,拿什么写入错误报告中,非常感谢你的帮助,希望还能再帮我想想其他 ...


自己测试后再说话

C:\progra~1\winrar\winrar.exe a -agyyyy-MM-dd -k -r -s -hp123456 -ibck -ilogD:\error.txt -inul d:\备.rar C:\pagefile.sys

D:\error.txt内容
  1. --------  2008-11-7 12:19:30, 压缩文件 d:\备2008-11-07.rar
  2. 2008-11-7 12:19:30   无法打开 C:\pagefile.sys
  3. 2008-11-7 12:19:30   另一个程序正在使用此文件,进程无法访问。
复制代码

作者: yangzhan1978    时间: 2008-11-7 13:51

我是试了又试,结果还是我说的那样,大哥你帮我看下,我把我写的文件上传上来
比如e:\ISO2008里是2个WORD文档,e:\yy里是4个EXCEL,e:\ss里是3个word文档,然后你打开其中一个文档再运行批处理,发现该文档并没有被备份成功,并且也无错误报告生成
作者: yangzhan1978    时间: 2008-11-7 13:54

是不是我写的有问题?
作者: fastslz    时间: 2008-11-7 14:52

对于压缩正在编辑的WORD或EXCEL文档要加 -dh 参数
如果想避免压缩时同时压缩WORD或EXCEL临时文件可以加 -dh -eh 参数




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2