Windows自带压缩文件工具makecab命令详解
当给女生修电脑上没有winrar、7z等压缩工具,并且还没网络你U盘还掉了的时候
目录
makecab
一、单个文件
二、一个文件夹下的多个文件
三、进阶 bat or vbs
四、注意事项
五、帮助信息
六、参考
makecab
用法一:
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
一、单个文件
1.0、准备一个文件fad.txt
cd /d C:\Old
del fad*
dir /s /b /a-d PrintSpoofer > fad.txt
1.1、压缩单文件
makecab fad.txt fad.zip /v
makecab /d compressiontype=mszip fad.txt fad.mszip.zip /v
makecab /d compressiontype=lzx fad.txt fad.lzx.zip /v
系统将显示压缩过程和压缩结果,类似如下:
Cabinet Maker - Lossless Data Compression Tool0.00% - raw=0 compressed=0
100.00% - raw=9,753 compressed=0
100.00% - raw=9,753 compressed=2,654
** fad.txt placed in cabinet fad.lzx.zip(0) on disk
100.00% [flushing current folder]
1.2、解压命令
expand fad.zip fad.zip.txt
expand fad.mszip.zip fad.mszip.txt
expand fad.lzx.zip fad.lzx.txt
系统将显示压缩过程和压缩结果,类似如下:
Microsoft (R) 文件扩展实用程序版本 6.1.7600.16385
版权所有 (c) Microsoft Corporation。保留所有权利。正在将 C:\Old\fad.lzx.txt 添加到提取队列正在展开文件 ....完成展开文件 ...
1.3、md5sum fad*.txt
9d4d9de23b12a5ceda4854ce539a79be *fad.lzx.txt
9d4d9de23b12a5ceda4854ce539a79be *fad.mszip.txt
9d4d9de23b12a5ceda4854ce539a79be *fad.txt
9d4d9de23b12a5ceda4854ce539a79be *fad.zip.txt
1.4、del fad*.txt && md5sum fad*
f1ad8a85b2eaaf06b0f916ca99c380e8 *fad.lzx.zip
5106c05b2aa7ae6bbc881909bccc99fa *fad.mszip.zip
5106c05b2aa7ae6bbc881909bccc99fa *fad.zip
二、一个文件夹下的多个文件
如果目录里面有多个文件,那么就需要编写一个文件列表文件,用来告诉MakeCAB,有多少文件需要打包。
指定压缩类型及使用内存的大小
var:compressiontype 压缩类型,有:none、 mszip、 lzx
var:compressionmemory 压缩率,在lzx类型下需指定:范围15--21
详细说明请看这里
2.1、准备一文件列表文件
dir /s /b /a-d PrintSpoofer > fad.txt
2.2、默认以mszip方式压缩并显示详细信息
makecab /F fad.txt /d maxdisksize=1001024000 /v
2.3 采用高压缩比,会非常非常慢
makecab /f fad.txt /d compressiontype=lzx /d compressionmemory=21 /d maxdisksize=1001024000 /v
2.4 人生苦短,PrintSpoofer下有多级子目录,有重复文件名,so,'Oh man'.
cd PrintSpoofer
dir /b /a-d PrintSpoofer > fad.txt
makecab /f fad.txt /d compressiontype=lzx /d compressionmemory=21 /d maxdisksize=1001024000 /v
三、进阶 bat or vbs
下面的是没有测试的,原因是英俊如我体重增加了看不到夏天。
@echo offif "%~1"=="" goto :eofsetlocal enableDelayedExpansioncd/d %~dp1set List=L.lstcd.>%List%for /f "delims=" %%f in ('"dir/b/a-d "%~f1" 2>nul"')do echo="%~nx1\%%f">>%List%for /f "delims=" %%d in ('dir/s/b/ad "%~f1"')do (set D1=%%dset 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 disk1del/a/f/q setup.inf;setup.rpt;%List%
四、注意事项
- 文件名中有空格需要把文件名用""引起来
- 同一个目录下的文件是不会重名的,一个多级目录却可能会
- 对于多个目录下或者单个目录下多级目录中存在重复文件名的将报错,推荐bat或者vbs
- 错误信息包括但不限于
- ERROR: Duplicate file name: PrintSpoofer.lastbuildstate already defined at f.txt(128)
- ERROR: MakeCAB aborted: MaxErrors (20) exceeded
- ERROR: Compression Memory not in range (10..21): 32
- ERROR: Could not find file: XXX
五、帮助信息
makecab /?
语法
makecab [/v[n]] [/d var=<value> ...] [/l <dir>] <source> [<destination>]
makecab [/v[<n>]] [/d var=<value> ...] /f <directives_file> [...]
参数
参数 | 说明 |
---|---|
<source>
|
要压缩的文件。 |
<destination>
|
用于指定压缩文件的文件名。 如果省略,则使用下划线()替换源文件名称的最后一个字符,并将其用作目标。 |
/f <directives_file>
|
具有makecab指令的文件(可以重复)。 |
/d var =<value>
|
定义带有指定值的变量。 |
/l<dir>
|
目标位置(默认为当前目录)。 |
/v [<n> ]
|
设置调试详细级别(0 = 无,..., 3 = 完全)。 |
/? | 在命令提示符下显示帮助。 |
六、参考
https://www.cnblogs.com/hookjoy/p/9339872.html
https://my.oschina.net/hkmax/blog/144293
http://www.bathome.net/thread-10715-1-1.html
https://docs.microsoft.com/en-us/previous-versions/bb417343(v=msdn.10)?redirectedfrom=MSDN#variable-summary
https://docs.microsoft.com/en-us/archive/blogs/askds/command-line-compression-in-core
https://docs.microsoft.com/zh-cn/windows-server/administration/windows-commands/makecab
Windows自带压缩文件工具makecab命令详解相关推荐
- Windows软件授权管理工具 slmgr命令详解
slmgr是Software LicenseManger的简称,是Windows软件授权管理工具.slmgr是管理系统激活和密钥.证书的主要组件.slmgr的所有功能都是通过slmgr.vbs提供的, ...
- php把proto解析为文档,Protobuf 文件生成工具 Prototool 命令详解
Protobuf 文件生成工具 Prototool 命令详解 简介 Prototool 是 Protobuf 文件的生成工具, 目前支持go, php, java, c#, object c 五种语言 ...
- Linux的scan命令,clamscan-Linux查毒工具的命令详解
clamscan-Linux查毒工具的命令详解 clamscan命令用于扫描文件和目录,一发现其中包含的计算机病毒,clamscan命令除了扫描linux系统的病毒外,主要扫描的还是文件中包含的win ...
- ssl证书绑定windows服务器端口及SSL配置命令详解
ssl证书绑定windows服务器端口及SSL配置命令详解 第一部分 多层应用服务器中SSL的服务器配置 一.首先,你的 服务器的防火墙 或云服务器的安全配置要哦放通下面你想配置的端口 我配置的端口为 ...
- linux之文件分割split命令详解
linux之文件分割split命令详解 进行文件分割时我们需要考虑几个问题: 如何分割?是按行分割还是按文件大小分割?是每100行分成一个文件还是每100K分成一个文件? 分割以后子文件名称是什么格式 ...
- linux sfdisk命令,Linux运维知识之Linux sfdisk硬盘分区工具程序命令详解
本文主要向大家介绍了Linux运维知识之Linux sfdisk硬盘分区工具程序命令详解,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 功能说明:硬盘分区工具程序. 语 法:s ...
- linux下bcd文件还原,BCDEDIT命令详解 | 数据恢复实验室 Data Recovery Laboratory
案例:bcdedit添加系统启动项 使用BCDEDIT命令,编辑启动项,方便.快捷,只需记住几条命令,必要时替换即可. 以下是一个案例: 标识符 {de329298-0dd8-11e0-90b6-8a ...
- linux rm -rf删除文件,Linux rm命令详解
Linux rm命令 Linux rm命令用于删除一个文件或者目录 语法: rm [options] name... 参数解释: -f, --force 强制删除.忽略不存在的文件,不提示确认 -i ...
- mysqlbinlog工具_mysqlbinlog命令详解 Part 1-实验环境准备
前面的一些章节我们对mysqldump常用命令进行了讲解 这个专题的内容为mysqlbinlog命令的详解 mysqlbinlog是mySQL中用来处理binlog的工具 1. MySQL二进制日志介 ...
最新文章
- Halcon的数据类型
- python基础知识整理-在Python中处理日期和时间的基本知识点整理汇总
- Express请求处理-构建模块化路由
- bzoj3697 采药人的路径
- vue-provide/inject轻松实现跨级访问祖先组件
- 洛谷 P3391 【模板】文艺平衡树
- javascript高级程序设计 学习笔记 第五章 上
- Sublime Test3 添加一键格式化XML文件插件
- socket.io框架学习
- android布局新建联系人,Android中设置搜素联系人的布局
- android 常用adb 及linux 命令
- ORC 和 Parquet比较入门
- 在c语言Windows窗口添加按钮,C语言用windows.h创建按钮的问题
- oracle数据库速度测试,ORACLE数据库测试数据插入速度
- 惠普台式电脑重装系统仍然启动不了,怎么办
- org.apache.batik.transcoder.TranscoderException: null
- 【pyTranscriber】开源免费语音转字幕软件及替代方案
- linux将两个目录做软连接,centos软连接创建
- 预警“立功”|用小米手机真的能救命
- 网友推荐2010年央视春晚节目单 恶搞社会热点
热门文章
- PCF8591详解(蓝桥杯单片机模块(IIC总线))
- flex+php ria应用开发实战详解光盘,《Flex+PHPRIA应用开发实战详解-梁文新版》学习日记2...
- 十、【高级篇】RTC--实时时钟
- 记笔记非常好用的一款工具 eDiary
- java/php/net/python学生社团管理系统设计
- EPLAN小知识——如何在菲尼克斯(PHEONIX)官网下载EPLAN部件
- Electron-vue开发实战7——命令行调用与系统级别右键菜单项的实现
- Java学习经典《第一行代码》第二版
- 【VIO笔记(学习VINS的必备基础)】第五讲(1/2) 手写VIO后端
- 基于pikachu漏洞平台的 --SQL注入攻击学习与总结