|
|
发表于 2011-1-12 13:45:04
|
显示全部楼层
- :利用MAKECAB压缩目录,且保留目录结构。
- :用法:直接把目录拖到此批处理图标上。
- :特点:甲、一次只支持一个目录,乙、最外层目录会剥离,
- : 丙、目录名直接作为压缩名,丁、不压缩空目录。
- @echo off
- if "%~1"=="" goto :eof
- setlocal enableDelayedExpansion
- cd/d %~dp1
- set List=L.lst
- cd.>%List%
- dir/b/a-d "%~f1">>%List%
- for /f "delims=" %%d in ('dir/s/b/ad "%~f1"')do (
- set D1=%%d
- set D1=!d1:%~f1\=!
- echo=.set DestinationDir=!D1!>>%List%
- for /f "delims=" %%f in ('"dir/b/a-d "%%d" 2>nul"')do echo="%%d\%%f">>%List%
- )
- makecab /f %List% /d CabinetNameTemplate="..\%~n1.CAB"
- rd/s/q disk1
- del/a/f/q setup.inf;setup.rpt;%List%
复制代码 |
|