純vbs實現(xiàn)zip壓縮與unzip解壓縮函數(shù)代碼

字號:


    用VBS解壓ZIP文件,網(wǎng)上搜到的多數(shù)是調用WinRAR,一點技術含量也沒有。聽說可以用純vbs實現(xiàn),特整理給大家,已經(jīng)過測試。喜歡的朋友可以測試下。
    壓縮代碼:
    代碼如下:
    Zip "D:\test.iso", "D:\test.zip"
    Zip "D:\test", "D:\test.zip"
    Msgbox "OK"
    Sub Zip(ByVal mySourceDir, ByVal myZipFile)
    Set fso = CreateObject("Scripting.FileSystemObject")
    If fso.GetExtensionName(myZipFile) <> "zip" Then
    Exit Sub
    ElseIf fso.FolderExists(mySourceDir) Then
    FType = "Folder"
    ElseIf fso.FileExists(mySourceDir) Then
    FType = "File"
    FileName = fso.GetFileName(mySourceDir)
    FolderPath = Left(mySourceDir, Len(mySourceDir) - Len(FileName))
    Else
    Exit Sub
    End If
    Set f = fso.CreateTextFile(myZipFile, True)
    f.Write "PK" & Chr(5) & Chr(6) & String(18, Chr(0))
    f.Close
    Set objShell = CreateObject("Shell.Application")
    Select Case Ftype
    Case "Folder"
    Set objSource = objShell.NameSpace(mySourceDir)
    Set objFolderItem = objSource.Items()
    Case "File"
    Set objSource = objShell.NameSpace(FolderPath)
    Set objFolderItem = objSource.ParseName(FileName)
    End Select
    Set objTarget = objShell.NameSpace(myZipFile)
    intOptions = 256
    objTarget.CopyHere objFolderItem, intOptions
    Do
    WScript.Sleep 1000
    Loop Until objTarget.Items.Count > 0
    End Sub
    解壓縮代碼:
    代碼如下:
    UnZip "D:\test.iso", "D:\test.zip"
    Msgbox "OK"
    Sub CopyFolder(ByVal mySourceDir, ByVal myTargetDir)
    Set fso = CreateObject("Scripting.FileSystemObject")
    If NOT fso.FolderExists(mySourceDir) Then
    Exit Sub
    ElseIf NOT fso.FolderExists(myTargetDir) Then
    fso.CreateFolder(myTargetDir)
    End If
    Set objShell = CreateObject("Shell.Application")
    Set objSource = objShell.NameSpace(mySourceDir)
    Set objFolderItem = objSource.Items()
    Set objTarget = objShell.NameSpace(myTargetDir)
    intOptions = 256
    objTarget.CopyHere objFolderItem, intOptions
    End Sub
    用VBS解壓ZIP文件,網(wǎng)上搜到的多數(shù)是調用WinRAR,一點技術含量也沒有。Google一下“VBS 解壓ZIP”,第二是搜搜問問“vbs實現(xiàn)解壓縮zip文件”,滿意答案是“所以想用vbs來解壓這兩種格式的文件,至少要有兩種命令行解壓工具,否則是絕對不可以的”。絕對不可以的,回答的人好自信啊,笑而不語~