Windows下自带压缩文件工具之-makecab

在内网渗透时,当没有rar、7z等压缩工具时候,拖取文件的时候为了防止流量过大,又必须压缩把文件压缩。当然你可以自己上传一个压缩工具。Windows自带制作压缩文件工具makecb你可以了解哈。其实,还有2个办法生成CAB文件,一个就是利用Visual Studio,另外一个就是利用专门的打包工具,可以google一下。
压缩单文件
makecab 1.doc 1.zip至于是压缩成zip、rar、cab看你个人喜欢
解压命令
expand 1.zip 1.doc

压缩一个文件夹下的多个文件
先用dir /b >>name.txt把要压缩的文件名写入一个txt
然后压缩makecab /f name.txt
压缩多个文件的时候,无法指定压缩后的格式。压缩之后,目录下将生成一个目录,将目录里面的文件为1.cab的
对应的解压命令expand 1.cab -f:* c:\test\,值得注意的是必须指定解压文件存放的目录,即c:\test\必须有,否则会报错

makecab的/d参数不能用于文件,/d参数其实是一个DDF文件中的参数信息,DDF文件是生成CAB文件之前的文件参数信息,里面有CAB文件名称、压缩比例、文件大小等等:所以先把文件名写入一个txt,例子如下

@echo off
dir /s /b /a-d >files.txt
makecab /d "CabinetName1=test.cab" /f files.txt
del /q /f files.txt


目前已知的坑有下面两个
问题一:文件名中有空格
需要把文件名用""引起来
问题二:默认压缩大小为1424KB
带压缩的文件超过1424KB,使用参数:/d maxdisksize=1024000 单位是字节,这里为10M

用法一:
a.先建立ddf文件(含设置及文件列表), 如:Sample.ddf
b. 进入命令行格式 输入 makecab /f Sample.ddf
用法二:
a.先建立txt文件(文件列表)
b.makecab /f list.txt /d compressiontype=mszip /d compressionmemory=21 /d maxdisksize=1024000000 /d diskdirectorytemplate=dd* /d cabinetnametemplate=dd*.cab

=================

makecab 的使用方法详解与技巧 :

最简单的用法: 
makecab 文件完整的名称 如 makecab wmd.dll 
指定压缩类型及使用内存的大小: 
makecab /d compressiontype=lzx /d compressionmemory=21 wmd.dll 压缩比高 
批量压缩的办法: 
for %v in (*.*) do makecab %v 
之前俺研究了好久,都不知道怎么用一条命令将一个目录下的所有文件压缩成CAB包,现在终于知道了,需要制作出一个列表,然后再来用 /f 配合。
压缩成一个CAB包的办法: 
type list.txt (生成一个文件列表) 
makecab /f list.txt /d compressiontype=mszip /d compressionmemory=21 /d maxdisksize=1024000000 /d diskdirectorytemplate=dd* /d cabinetnametemplate=dd*.cab 

 来个高压缩比的。呵 
makecab /f list.txt /d compressiontype=lzx /d compressionmemory=21 /d maxdisksize=1024000000 /d diskdirectorytemplate=dd* /d cabinetnametemplate=dd*.cab

这儿的list.txt里面是文件的列表,如果是相对路径那么要放到要压缩的文件夹中,如果是绝对路径就可以放到任何地方喽!

压缩一个文件夹下的多个文件的方法:
先用dir /b >>name.txt把要压缩的文件名写入一个txt
然后压缩makecab /f name.txt
压缩多个文件的时候,无法指定压缩后的格式。压缩之后,目录下将生成一个目录,将目录里面的文件为1.cab的
对应的解压命令expand 1.cab -f:* c:\test\,值得注意的是必须指定解压文件存放的目录,即c:\test\必须有,否则会报错

==============================

附:ddf文件的格式:

.OPTION EXPLICIT ; Generate errors
.Set CabinetNameTemplate=CASReport_OCX.CAB
.set maxdisksize=1024000000
.Set CompressionType=MSZIP;** All files are compressed in cabinet files
.Set UniqueFiles="OFF"
.Set Cabinet=on
.Set DiskDirectory1=CASReport_OCX
CASReport_OCX.ocx
;*** <the end>

参考链接:

Windows下自带压缩文件工具之-makecab - T00ls

makecab 命令详解 - HK.Max的个人页面 - OSCHINA - 中文开源技术交流社区

Windows下自带压缩文件工具之-makecab - Hookjoy - 博客园

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值