Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

How to use vbs to realize zip function

2025-02-28 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >

Share

Shulou(Shulou.com)06/03 Report--

Editor to share with you how to use vbs to achieve zip function, I believe that most people do not know much about it, so share this article for your reference, I hope you can learn a lot after reading this article, let's go to know it!

Compression:

Function fZip (sSourceFolder,sTargetZIPFile)

'This function will add all of the files in a source folder to a ZIP file

'using Windows' native folder ZIP capability.

Dim oShellApp, oFSO, iErr, sErrSource, sErrDescription

Set oShellApp = CreateObject ("Shell.Application")

Set oFSO = CreateObject ("Scripting.FileSystemObject")

'The source folder needs to have a\ on the End

If Right (sSourceFolder,1) "\" Then sSourceFolder = sSourceFolder & "\"

On Error Resume Next

'If a target ZIP exists already, delete it

If oFSO.FileExists (sTargetZIPFile) Then oFSO.DeleteFile sTargetZIPFile,True

IErr = Err.Number

SErrSource = Err.Source

SErrDescription = Err.Description

On Error GoTo 0

If iErr 0 Then

FZip = Array (iErr,sErrSource,sErrDescription)

Exit Function

End If

On Error Resume Next

'Write the fileheader for a blank zipfile.

OFSO.OpenTextFile (sTargetZIPFile, 2, True). Write "Competition" & Chr (5) & Chr (6) & String (18, Chr (0))

IErr = Err.Number

SErrSource = Err.Source

SErrDescription = Err.Description

On Error GoTo 0

If iErr 0 Then

FZip = Array (iErr,sErrSource,sErrDescription)

Exit Function

End If

On Error Resume Next

'Start copying files into the zip from the source folder.

OShellApp.NameSpace (sTargetZIPFile). CopyHere oShellApp.NameSpace (sSourceFolder). Items

IErr = Err.Number

SErrSource = Err.Source

SErrDescription = Err.Description

On Error GoTo 0

If iErr 0 Then

FZip = Array (iErr,sErrSource,sErrDescription)

Exit Function

End If

'Because the copying occurs in a separate process, the script will just continue. Run a DO...LOOP to prevent the function

'from exiting until the file is finished zipping.

Do Until oShellApp.NameSpace (sTargetZIPFile). Items.Count = oShellApp.NameSpace (sSourceFolder). Items.Count

If WScript.Sleep 1500s is not successful, increase the number of seconds.

Loop

FZip = Array (0, ",")

End Function

Call fZip ("C:\ vbs", "c:\ vbs.zip")

Unzip:

Function fUnzip (sZipFile,sTargetFolder)

'Create the Shell.Application object

Dim oShellApp:Set oShellApp = CreateObject ("Shell.Application")

'Create the File System object

Dim oFSO:Set oFSO = CreateObject ("Scripting.FileSystemObject")

'Create the target folder if it isn't already there

If Not oFSO.FolderExists (sTargetFolder) Then oFSO.CreateFolder sTargetFolder

'Extract the files from the zip into the folder

OShellApp.NameSpace (sTargetFolder). CopyHere oShellApp.NameSpace (sZipFile). Items

'This is a seperate process, so the script would continue even if the unzipping is not done

'To prevent this, we run a DO...LOOP once a second checking to see if the number of files

'in the target folder equals the number of files in the zipfile. If so, we continue.

Do

WScript.Sleep 1000 'sometimes needs to be changed

Loop While oFSO.GetFolder (sTargetFolder). Files.Count < oShellApp.NameSpace (sZipFile). Items.Count

End Function

The above is all the content of the article "how to use vbs to achieve zip function". Thank you for reading! I believe we all have a certain understanding, hope to share the content to help you, if you want to learn more knowledge, welcome to follow the industry information channel!

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Development

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report