标题:请教如何在VB里调用WINRAR?
只看楼主
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:325
专家分:114
注 册:2010-2-17
结帖率:69.81%
已结贴  问题点数:10 回复次数:2 
请教如何在VB里调用WINRAR?
请教如何在VB里调用WINRAR,将一个目录内的每一个文件都生成一个压缩文件?
例如一个目录中有10个TXT文件:1.txt、2.txt......10.txt,现在想要将这10个文件分别压缩成1.rar、2.rar......10.rar。

程序已有,但不知如何达到这个目的。

    Dim Rarexe As String 'WINRAR执行文件的位置
    Dim Source As String '压缩前的原始文件
    Dim Target As String '压缩后的目标文件
    Dim FileString As String 'Shell指令中的字符串
    Dim Result As Long
    For i = 0 To File1.ListCount - 1
    Rarexe = "C:\Program Files\WinRAR\winrar.exe"
    Source = Dir1.Path & " \ " & File1.List(i)
    Target = Dir1.Path & " \ " & File1.List(i) & ".rar"
    FileString = Rarexe & " a " & Target & " " & Source
    Result = Shell(FileString, vbHide)
    Next i

主要是程序中的红色部位(命令与参数)不知道该如何写。
搜索更多相关主题的帖子: rar 文件 压缩 txt Dim 
2017-12-26 14:56
wds1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:49
帖 子:393
专家分:2025
注 册:2016-3-10
得分:10 
你的rar程序如果支持命令行模式,那么把命令行语句直接拿过来就行。
如果不支持,下载一个dos版本的,看压缩指令,你在用shell调用。
2017-12-26 16:56
沉默的痞子
Rank: 4
等 级:贵宾
威 望:12
帖 子:96
专家分:127
注 册:2015-10-7
得分:0 
回复 楼主 ictest
命令行语法


--------------------------------------------------------------------------------


从命令行也可以运行 WinRAR 命令,常规的命令行语法描述如下:

WinRAR <命令> -<参数1> -<参数N> <压缩文件 > <文件...> <@列表文件...> <解压路径\>

命令 指定 WinRAR 运行的命令的字符组合。点击 这里 查看 WinRAR 的命令列表。
参数 切换操作指定类型,压缩强度,压缩文件类型,等等的定义。点击 这里 查看 WinRAR 的参数列表。  
压缩文件 要处理的压缩文件名。
文件 要处理的文件名。
列表文件 列表文件是包含要处理文件名称的纯文本。文件名应该在第一卷启动。可以在列表文件中使用 //字符后添加注释。例如,您可以包含两列字符串创建 backup.lst:
c:\work\doc\*.txt //备份文本文档 c:\work\image\*.bmp //备份图片

c:\work\misc

并接着运行:

winrar a backup @backup.lst

您可以在命令行中同时指定普通的文件名和列表文件名。
 
解压路径 只与命令 e 和 x ,搭配使用。指出解压文件添加的位置。如果文件夹不存在时,会自动创建。  


注意事项
a) 如果未指定 文件 或是 列表文件 时,WinRAR 将会以缺省的 *.* 运行全部的文件;

b) 如果在创建压缩文件时未指定压缩文件扩展名,WinRAR 将会使用在 压缩配置 中选定的默认压缩文件格式。但您可以指定 .RAR 或 .ZIP 扩展名来替换它们。

如果解压时未指定压缩文件扩展名,WinRAR 会认为是 .rar,所以 * 意味着所有 .rar 扩展名的所有文件。如果您需要处理所有没有扩展名的压缩文件,请使 *. 掩码。*.* 掩码选择所有文件。您可以在大部分的操作中在压缩文件名中使用通配符,例如解压、测试和许多其它操作中,但在压缩和删除时不能使用通配符。

c) 在命令行所输入的参数会替换相同的配置设置值 ;

d) 在命令 c 、e、s、t、rr、k 和 x 可在压缩文件名中使用通配符。如此可以用单个的命令来进行超过一个以上的压缩文件,除此之外,如果您指定 -r 参数于这些命令时,它们将会搜索在子文件夹中的压缩文件 ;

e) 某些命令和参数只应用在 RAR 压缩文件,有些则在 RAR 和 ZIP 都可使用,而某些则可应用在全部的压缩文件格式。这一些都得看压缩文件格式所提供的特性而定 ;

f) 命令和参数的大小写是相同意思的,您可以用大写或者小写来下命令均可。

g) 如果命令行的任何部分包含空格,请用引号括起来。

例子
添加文件夹 "c:\latest data" 到压缩文件 Info.rar 中
WinRAR a Info.rar "c:\latest data"

解压压缩文件 Info.rar 到文件夹 d:\data
WinRAR x Info.rar d:\data\
2017-12-28 10:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-483737-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.283519 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved