[QTP]vbscript对文件或文件夹进行打包与解包
vbscript对文件或文件夹进行打包与解包
在自动化测试工作中,有时会用到对文件或文件夹进行打包或解包,经过一番研究,我们可以通过CreateObject非常轻松地实现所需要的功能。
首先,需要在操作系统中注册XZip.dll,以管理员身份:Regsvr32 "XZip.dll文件路径"
在http://www.xstandard.com/en/documentation/xzip/地址可以下载到该DLL,这里也有它的使用范例讲解,目前可以支持以下平台:
?For Windows 2000, XP, Vista, Windows 7: IE 5.0+, Firefox 1.0+, Safari 3.0+ or Opera 9.0+
?For OS X 10.3.9+: Firefox 1.0+ or Safari 1.3+
例如:将C:\test\xifeijian.jpg打包成C:\test.zip
Dim objZip
set objZip=createobject("XStandard.zip")
objZip.Pack "C:\test\xifeijian.jpg","C:\test.zip"
Set objZip=nothing
The examples below are for Active Server Pages. For Windows Scripting Host or Visual Basic, replaceServer.CreateObject withCreateObject and replaceResonse.Write withMsgBox.
<%Dim objZipSet objZip = Server.CreateObject("XStandard.Zip")objZip.Pack "C:\Temp\golf.jpg", "C:\Temp\images.zip"objZip.Pack "C:\Temp\racing.gif", "C:\Temp\images.zip"Set objZip = Nothing%><%Dim objZipSet objZip = Server.CreateObject("XStandard.Zip")objZip.Pack "C:\Temp\reports.doc", "C:\Temp\archive.zip", , , 9objZip.Pack "C:\Temp\boat.jpg", "C:\Temp\archive.zip", , , 1Set objZip = Nothing%><%Dim objZipSet objZip = Server.CreateObject("XStandard.Zip")objZip.Pack "C:\Temp\reports.doc", "C:\Temp\archive.zip", TrueobjZip.Pack "C:\Temp\boat.jpg", "C:\Temp\archive.zip", TrueSet objZip = Nothing%><%Dim objZipSet objZip = Server.CreateObject("XStandard.Zip")objZip.Pack "C:\Temp\reports.doc", "C:\Temp\archive.zip", True, "files/word"objZip.Pack "C:\Temp\boat.jpg", "C:\Temp\archive.zip", True, "files/images"Set objZip = Nothing%><%Dim objZipSet objZip = Server.CreateObject("XStandard.Zip")objZip.Pack "C:\Temp\*.jpg", "C:\Temp\images.zip"Set objZip = Nothing%><%Dim objZipSet objZip = Server.CreateObject("XStandard.Zip")objZip.UnPack "C:\Temp\images.zip", "C:\Temp\"Set objZip = Nothing%><%Dim objZipSet objZip = Server.CreateObject("XStandard.Zip")objZip.UnPack "C:\Temp\images.zip", "C:\Temp\", "*.jpg"Set objZip = Nothing%><%Dim objZip, objItemSet objZip = Server.CreateObject("XStandard.Zip")For Each objItem In objZip.Contents("C:\Temp\images.zip")Response.Write objItem.Path & objItem.Name & "<br />"NextSet objZip = NothingSet objItem = Nothing%><%Dim objZipSet objZip = Server.CreateObject("XStandard.Zip")objZip.Delete "headshots/smith.jpg", "C:\Temp\images.zip"Set objZip = Nothing%><%Dim objZipSet objZip = Server.CreateObject("XStandard.Zip")objZip.Move "headshots/jones.jpg", "staff/jones.jpg", "C:\Temp\images.zip"Set objZip = Nothing%><%Dim objZipSet objZip = Server.CreateObject("XStandard.Zip")objZip.Move "headshots/jones.jpg", "headshots/randy-jones.jpg", "C:\Temp\images.zip"Set objZip = Nothing%>UnPack() method will first remove all files from the destination folder. This behavior will change in future releases.This component was not designed to work with huge archives. Max archive size depends on the amount of available RAM.This component is designed for 32-bit operating systems and will not work natively on 64-bit operating systems.