如何在MAKECAB的指令文件中指定CAB压缩包的生成目录?
MAKECAB.EXE 使用指南 & 指定输出目录的解决方案
先理清楚MAKECAB的基础语法
MAKECAB主要有两种常用的调用方式,语法如下:
MAKECAB [/Vn] [/D variable=value ...] [/L directory] source [destination] MAKECAB [/Vn] [/D variable=value ] /F directives_file [...]
关于输出目录的两种情况
- 不用指令文件的时候,只要你在命令最后指定了
destination参数(比如C:\Test),生成的CAB压缩包就会直接放到这个指定目录里。 - 但一旦用上了指令文件,MAKECAB默认会把压缩包丢到当前目录下的
disk1子文件夹里,这可能不是你想要的。
解决办法:给指令文件加一行配置
要让用指令文件时也能把CAB包生成在你指定的目录,只需要在你的指令文件里添加这么一行:
DiskDirectory1=C:\Test
把上面的C:\Test换成你实际需要的目标路径就搞定了。
额外小技巧
DiskDirectory1是MAKECAB用来定义第一个输出“磁盘”(其实就是输出目录)的变量,默认值是disk1,所以咱们直接替换这个值就能改输出路径。如果你想直接指定压缩包的完整路径和文件名,也可以用CabinetNameTemplate变量,比如:
CabinetNameTemplate=C:\Test\MyCustomArchive.cab
这样生成的压缩包就会直接出现在C:\Test目录下,名字就是MyCustomArchive.cab。
内容的提问来源于stack exchange,提问作者newbieforever
相关产品推荐
相关产品推荐

