MakeCAB打包软件

ddf文件

ddf包含两部分,一部分是文件头,另一部分是文件列表

文件列表

dir命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
C:\Users\xuhua>dir /?
显示目录中的文件和子目录列表。

DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N]
[/O[[:]sortorder]] [/P] [/Q] [/R] [/S] [/T[[:]timefield]] [/W] [/X] [/4]

[drive:][path][filename]
指定要列出的驱动器、目录和/或文件。

/A 显示具有指定属性的文件。
属性 D 目录 R 只读文件
H 隐藏文件 A 准备存档的文件
S 系统文件 I 无内容索引文件
L 重新分析点 O 脱机文件
- 表示“否”的前缀
/B 使用空格式(没有标题信息或摘要)。
/C 在文件大小中显示千位数分隔符。这是默认值。用 /-C 来
禁用分隔符显示。
/D 跟宽式相同,但文件是按栏分类列出的。
/L 用小写。
/N 新的长列表格式,其中文件名在最右边。
/O 用分类顺序列出文件。
排列顺序 N 按名称(字母顺序) S 按大小(从小到大)
E 按扩展名(字母顺序) D 按日期/时间(从先到后)
G 组目录优先 - 反转顺序的前缀
/P 在每个信息屏幕后暂停。
/Q 显示文件所有者。
/R 显示文件的备用数据流。
/S 显示指定目录和所有子目录中的文件。
/T 控制显示或用来分类的时间字符域
时间段 C 创建时间
A 上次访问时间
W 上次写入的时间
/W 用宽列表格式。
/X 显示为非 8dot3 文件名产生的短名称。格式是 /N 的格式,
短名称插在长名称前面。如果没有短名称,在其位置则
显示空白。
/4 以四位数字显示年份

可以在 DIRCMD 环境变量中预先设定开关。通过添加前缀 - (破折号)
来替代预先设定的开关。例如,/-W。

使用dir命令列出目录下的所有子目录中的文件

1
dir /a:-d /s/b data1 > 1.txt

-d表示过滤目录

内容处理

将所有完整路径用引号包起来

1
2
(\w.*?)\n #过滤
"$1"\n # 替换

文件头

1
2
3
4
5
6
7
8
9
10
11
12
;*** MakeCAB Directive file;
.OPTION EXPLICIT
.Set CabinetNameTemplate="*.cab" ;*.cab表示分包
.Set DiskDirectory1="D:\" ;保存目录
.Set MaxDiskSize=512000000 ;包大小
.Set UniqueFiles="OFF" ;允许重复文件名
.Set Cabinet=on
.Set Compress=on
.Set CompressionType=LZX ;压缩类型

.Set CompressionMemory=21 ;压缩级别
...

完整内容

制作

1
makecab.exe /f 3.ddf

制作中

问题

  • cab默认包大小为2GB,如果要扩容,需要安装补丁

参考资料


MakeCAB打包软件
https://feater.top/windows/how-to-make-cab/
作者
JackeyLea
发布于
2024年1月6日
许可协议