如何用VB代码压缩一个文件夹中的所有文件成一个压缩包

如何用VB代码压缩一个文件夹中的所有文件成一个压缩包,第1张

DIR 可以

还可以用FSO 对象,来完成!

Dir 函数

返回一个 String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。

语法

Dir[(pathname[, attributes])]

Dir 函数的语法具有以下几个部分:

部分 描述

pathname 可选参数。用来指定文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。如果没有找到 pathname,则会返回零长度字符串 ("")。

attributes 可选参数。常数或数值表达式,其总和用来指定文件属性。如果省略,则会返回匹配 pathname 但不包含属性的文件。

设置值

attributes 参数的设置可为:

常数 值 描述

vbNormal 0 (缺省) 指定没有属性的文件。

vbReadOnly 1 指定无属性的只读文件

vbHidden 2 指定无属性的隐藏文件

VbSystem 4 指定无属性的系统文件

vbVolume 8 指定卷标文件;如果指定了其它属性,则忽略vbVolume

vbDirectory 16 指定无属性文件及其路径和文件夹。

注意 这些常数是由 VBA 所指定的,在程序代码中的任何位置,可以使用这些常数来替换真正的数值。

以二进制的方式一个个的打开,写入一个新的文件,依次写入文件尾端,最后写入依次写入文件的位置(文件的长度)

还可以用UNRAR.exe命令方式压缩和解压

将unrar.exe加入资源文件,先释放unrar.exe到临时目录,再用命令解压目标文件

如果机器安装有winRar软件,就可以通过shell来借用他的功能达到压缩文件的效果;

参考代码如下:

Dim DeliveryF As String = Server.MapPath("..\Temp\DeliveryFactors.xls") '原始文件 (压缩前)

Dim TruckInfo As String = Server.MapPath("..\Temp\TruckInformation.xls")

Dim QDetail As String = Server.MapPath("..\Temp\QuotationDetail.xls")

'用shell命令调用winrar.exe创建压缩文件()

Dim winRarexe As String = "C:\Program Files\WinRAR\Rar" 'winzip 执行文件的位置

Dim wtarget As String = "C:\temp\QuotationVAComparsion.zip" '目地文件 (压缩后)

Dim command As String = winRarexe &" a " &wtarget &" " &DeliveryF &" " &TruckInfo &" " &QDetail

'这个命令你可以查看winrar的命令集

Dim retval As Double 'Shell 指令传回值

retval = Shell(command, AppWinStyle.MinimizedFocus)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11789436.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存