如何调用rar.exe添加文件到压缩包根目录[已解决]
本帖最后由 零度深蓝 于 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" 我机器没装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)
winrar安装目录下应该有命令行说明的 命令行下"rar.exe /?" 不懂,来学习的 回复 2# 502762378
我调用7Z没有问题,关键是调用RAR就不行了 回复 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 ) 这个必须收藏,备用。 没有10楼哦,我刚坐上的! 本帖最后由 虎虎虎 于 2012-2-15 23:06 编辑
每次使用都得加载临时文。麻烦,直接读取注册表的安装位置省事多了。$winrar=RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WinRAR archiver","InstallLocation")$rarfie=$winrar&"Rar.exe" 来学习的~ 看后回贴 ~ 撒打发士大夫
页:
[1]