|
将以下的文本保存成cab.cmd,然后执行该批命令文件来压缩,用法看批命令里面的
rem 代码开始
@echo off>nul
rem 使用方法:
rem cab 源目录 输出目录 目标文件名
rem %1 源目录 %2输出目录 %3目标文件名
if "%1"=="" goto Use
if "%2"=="" goto Use
if "%3"=="" goto Use
if NOT EXIST %2 MD %2
@echo .Set CabinetNameTemplate=%2\%3>%temp%\tmp.lst
@echo .Set CompressionType=LZX>>%temp%\tmp.lst
@echo .Set CompressionMemory=21>>%temp%\tmp.lst
@echo .Set InfFileName=%2\setup.inf>>%temp%\tmp.lst
@echo .Set RptFileName=%2\setup.rpt>>%temp%\tmp.lst
@echo .Set MaxDiskSize=CDROM>>%temp%\tmp.lst
@echo .Set ReservePerCabinetSize=6144>>%temp%\tmp.lst
@echo .Set InfCabinetLineFormat=*cab#*=Application Source Media,*cabfile*,0 >>%temp%\tmp.lst
@echo .Set Compress=on>>%temp%\tmp.lst
@echo .Set CompressionMemory=21>>%temp%\tmp.lst
@echo .Set DiskDirectoryTemplate=>>%temp%\tmp.lst
@echo .Set Cabinet=ON>>%temp%\tmp.lst
@echo .Set MaxCabinetSize=999999999>>%temp%\tmp.lst
@echo .Set InfDiskHeader=>>%temp%\tmp.lst
@echo .Set InfDiskLineFormat=>>%temp%\tmp.lst
@echo .Set InfCabinetHeader=[SourceDisksNames]>>%temp%\tmp.lst
@echo .Set InfFileHeader=>>%temp%\tmp.lst
@echo .Set InfFileHeader1=[SourceDisksFiles]>>%temp%\tmp.lst
@echo .Set InfFileLineFormat=*file*=*cab#*,,*size*,*csum*>>%temp%\tmp.lst
for %%a in (%1\*.*) do @echo %%a>>%temp%\tmp.lst
makecab /f %temp%\tmp.lst
goto ext
:use
cls
@echo.
echo.
echo 使用方法:
@echo cab 源目录 输出目录 目标文件名
@echo.
:ext
@echo on
rem 代码结束 |
|