Vis*_*ath 4 windows compression cmd cab
我决定根据makecab.exe需要在应用程序中创建cab文件。
http://msdn.microsoft.com/zh-CN/library/bb417343.aspx#microsoftmakecabusersguide
而且我需要按照给定的路径存储文件(无论是相对的还是绝对的),并提取保留原始路径的文件。因此,我将为此使用指令文件,并将该输入提供给makecab命令。
Windows命令promt zip / compress目录
但是cab输出存储在文件夹Disk1 \ 1.cab中。
请帮助我知道如何指定所需的出租车文件名作为目的地(我将从用户输入中获取出租车文件名)?
另外,是否可以在第二次makecab命令运行中将更多文件追加到现有的cab文件中?
终于找到了解决方案。
您可以在指令文件中设置以下两个变量,这些变量将标识目标路径和cab文件的名称:
DiskDirectoryTemplate=template[输出目录名称模板;*由磁盘号代替
CabinetNameTemplate=template [柜子文件名模板;*由柜号代替]
DiskDirectoryTemplate =模板
设置输出目录名称模板。为布局的每个磁盘创建一个目录。
默认值:.Set DiskDirectoryTemplate = DISK *; 默认值为DISK1,DISK2等。
当MakeCAB处理指令文件时,它将创建一个或多个磁盘“映像”。但是,MakeCAB并没有使用某些特定的磁盘格式,而只是为每个磁盘创建一个子目录,并将每个磁盘的文件放在适当的目录中。如果
*此变量中存在a ,则将其替换为磁盘号。如果未*指定,则所有文件都放置在此变量指定的单个目录中。仅当磁盘n不存在变量DiskDirectoryn时,才使用此变量。
例子:
Run Code Online (Sandbox Code Playgroud).Set DiskDirectoryTemplate=C:\EXCEL6\DISK* ; Put files in separate dirs .Set DiskDirectoryTemplate=C:\EXCEL6 ; Put all files in C:\EXCEL6 .Set DiskDirectoryTemplate= ; Put all files in current dirCabinetNameTemplate =模板
设置机柜文件名模板。
默认:
.Set CabinetNameTemplate=*.CAB ; 1.CAB, 2.CAB, ...该模板用于构造每个机柜的文件名。在
*该模板中,通过机柜编号(1,2,等)所取代。仅当机柜n不存在变量CabinetNamen时,才使用此变量。注意:确保扩展的机柜名称不超过文件系统的限制!例如,如果您使用“ CABINET * .CAB”,而MakeCAB必须创建10个或更多机柜,那么您将拥有诸如CABINET10.CAB之类的机柜名称,即9.3,这在FAT文件系统中是无效名称。不幸的是,MakeCAB在创建了9个机柜之前无法检测到它!
例子:
Run Code Online (Sandbox Code Playgroud).Set CabinetNameTemplate=EXCEL*.DIA ; EXCEL1.DIA, EXCEL2.DIA, etc. .Set CabinetNameTemplate=*. ; 1, 2, 3, etc.
此外,当文件在驾驶室中分割时(如果机柜大小超出其限制大小),则还可以使用变量CabinetName n设置后续的机柜文件名:
CabinetNamen=filename [内阁号n的内阁文件名]
CabinetNamen =文件名
指定机柜的机柜文件名。
默认值:; 默认情况下,这些变量均未定义
如果未为特定磁盘定义此变量,则MakeCAB将使用CabinetNameTemplate构造机柜名称。
例:
Run Code Online (Sandbox Code Playgroud).Set CabinetName2=test2.cab
| 归档时间: |
|
| 查看次数: |
17347 次 |
| 最近记录: |