请帮忙写个批处理:
1、现在的情况: d:\backup\ 及其子目录下有大量类似如下文件:123.bak(*.bak) 及其压缩包123.bak.rar(*.bak.rar)同时存在的情况。@@@(原因是:批处理调用rar.exe压缩时虽然添加了 af 参数但未能成功删除源文件)
2、实现的目的:对d:\backkup\ 及其子目录下的文件名进行比较,当同一文件夹内时出现类似 123.bak (*.bak) 和 123.bak.rar(*.bak.rar)文件时删除123.bak(*.bak)。
3、如果能在删除前加上调用 rar.exe 进行校验,校验不成功则删除 123.bak.rar (*.123.bak),校验成功再删除123.bak (*.bak),这样就能做到万无一失了。
4、如果能在做一个日志记录文件更好,没有也无所谓。
5、谢谢,不知道大家能看得懂不。 不好意识, 我的要求是不是太搞了
在楼下各位的帮助下,完美代码如下 :- for /r d:\backup %%A in (*.bak.rar) do if exist "%%~dpnA" c:\progra~1\winrar\rar t %%A|findstr /i "全部成功" && del /q /s %%~dpnA>>%%~dpAdelbak.txt || del /q /s %%A>>%%~dpAdelrar.txt && c:\progra~1\winrar\winrar a -k -s -ibck -inul -ep -df -m5 -t %%A %%~dpnA
复制代码
[ 本帖最后由 hong751230 于 2009-10-3 21:56 编辑 ] |