1,zip格式只能由winrar创建,控制台 RAR 不能创建 ZIP 压缩文件。
2,以所有文件均在批处理所在目录为准。压缩前推荐备份目录内所有文件。
3,示例1:检查文件名字符是否为10个,并检查三个文件是否都存在:- @echo off&setlocal enabledelayedexpansion
- set "winrar=C:\Program Files\WinRAR\WinRAR.exe"
- for /f "delims=" %%a in ('dir /a-d/b *.hw') do (
- call:hanye "%%a"
- if !n!==10 if exist "%%~na.pl" if exist "%%~na.eod" "%winrar%" m -afzip "%%~na" "%%~na.pl" "%%~na.eod" "%%a"
- )
- exit
- :hanye
- set "a=%~1"&set n=0
- :guxing
- if not "!a:~%n%,1!"=="" set/a n+=1&goto:guxing
复制代码 4,示例2:不检查文件名字符数,但检查三个文件是否同时存在- @echo off
- set "winrar=C:\Program Files\WinRAR\WinRAR.exe"
- for /f "delims=" %%a in ('dir /a-d/b *.hw') do if exist "%%~na.pl" if exist "%%~na.eod" "%winrar%" m -afzip "%%~na" "%%~na.pl" "%%~na.eod" "%%a"
复制代码 5,示例3:不检查文件名字符数,也不检查是否同时存在,只以.hw为基准- @echo off
- set "winrar=C:\Program Files\WinRAR\WinRAR.exe"
- for /f "delims=" %%a in ('dir /a-d/b *.hw') do "%winrar%" m -afzip "%%~na" "%%~na.pl" "%%~na.eod" "%%a"
复制代码 6,如果需要后台运行winrar,使用-IBCK开关。
[ 本帖最后由 hanyeguxing 于 2010-4-23 15:55 编辑 ] |