找回密码
 加入
搜索
查看: 6820|回复: 12

[AU3基础] 如何调用rar.exe添加文件到压缩包根目录[已解决]

 火.. [复制链接]
发表于 2012-2-8 22:32:00 | 显示全部楼层 |阅读模式
本帖最后由 零度深蓝 于 2012-2-9 22:55 编辑

我要压缩的文件在桌面A文件夹下,比如:A\(1.txt , 2.jpg , 3.exe)
我的目的是想把A文件夹下的3个文件添加到压缩包并以系统时间命名

以下是两种压缩后的路径显示:

1.20120208_2222.rar\Users\Administrator\Desktop\A\(1.txt , 2.jpg , 3.exe)
FileInstall('Rar.exe', @TempDir & '\', 1)
$Dir = @ScriptDir & '\A'
$bak = @YEAR & @MON & @MDAY & '_' & @HOUR & @MIN & '.rar'
RunWait(@TempDir & '\rar.exe a ' & $bak & ' "' & $Dir & '"', '', 0)
FileDelete(@TempDir & '\rar.exe')


2.20120208_2222.rar\A\(1.txt , 2.jpg , 3.exe)
FileInstall('Rar.exe', @TempDir & '\', 1)
$Dir = 'A'
$bak = @YEAR & @MON & @MDAY & '_' & @HOUR & @MIN & '.rar'
RunWait(@TempDir & '\rar.exe a ' & $bak & ' "' & $Dir & '"', '', 0)
FileDelete(@TempDir & '\rar.exe')

而我需要的是压缩到20120208_2222.rar\(1.txt , 2.jpg , 3.exe),如下图所示:

我调用7z.exe可以解决上述问题,但不知道调用rar.exe怎么解决?
还有"' & $Dir & '",为什么还要加个 "" ?谢谢,帮忙解决下。



$Dir = @ScriptDir & '\A\*.*'
$Bak = @ScriptDir

;rar压缩
RunWait('rar.exe a ' & $Bak & '\RAR压缩.rar' &' '& $Dir, '', @SW_HIDE )

;7z压缩
RunWait('7z.exe a -tzip -r ' & $Bak & '\7z压缩.rar' &' '& $Dir, '', @SW_HIDE )

附件我测试用的:


谢谢关注,我自己找到了,答案在10楼,rar命令添加"-ep"

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2012-2-9 07:49:48 | 显示全部楼层
我机器没装RAR
但查了下两者压缩文件的命令相同,一下是我7Z的压缩方式:
$7z = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip","Path")
$Dir = 'C:\Documents and Settings\e000923\桌面\script\012.au3'
$bak = @YEAR & @MON & @MDAY & '_' & @HOUR & @MIN & '.rar'
RunWait($7z&"\7z.exe a " & $bak & " "& $Dir, '', 0)
发表于 2012-2-9 13:50:40 | 显示全部楼层
winrar安装目录下应该有命令行说明的
发表于 2012-2-9 14:06:33 | 显示全部楼层
命令行下  "rar.exe /?"
发表于 2012-2-9 16:53:56 | 显示全部楼层
不懂,来学习的
 楼主| 发表于 2012-2-9 17:54:50 | 显示全部楼层
回复 2# 502762378

我调用7Z没有问题,关键是调用RAR就不行了
 楼主| 发表于 2012-2-9 22:09:35 | 显示全部楼层
回复 9# 虎虎虎

谢谢关注,找到原因了;
$Dir = @ScriptDir & '\A\*.*'
$Bak = @ScriptDir

;rar压缩
RunWait('rar.exe a -ep ' & $Bak & '\RAR压缩' &' '& $Dir, '', @SW_HIDE )

;7z压缩
RunWait('7z.exe a -tzip -r ' & $Bak & '\7z压缩.rar' &' '& $Dir, '', @SW_HIDE )
发表于 2012-2-9 22:23:21 | 显示全部楼层
这个必须收藏,备用。
发表于 2012-2-15 17:48:39 | 显示全部楼层
没有10楼哦,我刚坐上的!
发表于 2012-2-15 22:46:09 | 显示全部楼层
本帖最后由 虎虎虎 于 2012-2-15 23:06 编辑

每次使用都得加载临时文。麻烦,直接读取注册表的安装位置省事多了。
$winrar=RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WinRAR archiver","InstallLocation")
$rarfie=$winrar&"Rar.exe"

评分

参与人数 1金钱 +10 收起 理由
35888894 + 10 给你的名字加分

查看全部评分

发表于 2013-2-8 13:25:31 | 显示全部楼层
来学习的~ 看后回贴 ~
发表于 2016-6-26 09:23:46 | 显示全部楼层
撒打发士大夫
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-18 14:58 , Processed in 0.090335 second(s), 29 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表