本帖最后由 ming668 于 2011-6-3 14:08 编辑
一个文件夹里有多个文件,分别将相同文件名(扩展名不同)的文件先检查是否完整(必须有一个BKA和DBB),再压缩为同一个文件,再把原文件删除。最好能有注释。
例:F20100506.BAK F20100506.DBB
F20100510.BAK F20100510.DBB
F20100512.BAK F20100512.DBB
...
处理结果:
F20100506.RAR
F20100510.RAR
F20100512.RAR
...
谢谢zm900612 在11楼的正确答案,正确代码为:- @echo off
- for /f "tokens=1* delims==" %%a in ('ftype winrar') do (
- for %%c in (%%b) do if not defined rar set rar=%%c
- )
- for %%a in (*.bak) do (
- if exist "%%~na.dbb" %rar% a -df "%%~na.rar" "%%a" "%%~na.dbb"
- )
- pause
复制代码 对于已确定RAR安装在C:\program Files\winrar\的用户,下列代码也可以:- @echo off
- set rar="C:\program Files\winrar\rar.exe"
- for %%a in (*.bak) do (
- if exist "%%~na.dbb" %rar% a -df "%%~na.rar" "%%a" "%%~na.dbb"
- )
- pause
复制代码
|