In ambito sistemistico, a volte è utile avere tra le proprie armi una funzione per lavorare con i file ZIP. vi allego un comodo esempio da includere nei vostri script
Chiamata alla funzione
ReturnCode = UnZip(“w:\file*.zip”, ”W:\CartellaOut\”)
WScript.Echo ”ZIP ” & returnCode
ReturnCode = Zip(“w:\file*.txt”, ”W:\CartellaOut\file.zip”)
WScript.Echo ”ZIP ” & returnCode
Ponendo come riportato qui sopra, la funzione restituisce il return code.
Codice di Esempio
Le funzioni sono due: zip ed unzip
Function Zip(sFile,sArchiveName)
Set oFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set oShell = WScript.CreateObject("Wscript.Shell")
'--------Find Working Directory--------
aScriptFilename = Split(Wscript.ScriptFullName, "\")
sScriptFilename = aScriptFileName(Ubound(aScriptFilename))
sWorkingDirectory = Replace(Wscript.ScriptFullName, sScriptFilename, "")
'--------------------------------------
'-------Ensure we can find 7z.exe------
If oFSO.FileExists(sWorkingDirectory & "\" & "7z.exe") Then
s7zLocation = ""
ElseIf oFSO.FileExists("C:\Program Files\7-Zip\7z.exe") Then
s7zLocation = "C:\Program Files\7-Zip\"
Else
Zip = "Error: Couldn't find 7z.exe"
Exit Function
End If
'--------------------------------------
oShell.Run """" & s7zLocation & "7z.exe"" a -tzip -y """ & sArchiveName & """ " _
& sFile, 0, True
If oFSO.FileExists(sArchiveName) Then
Zip = 1
Else
Zip = "Error: Archive Creation Failed."
End If
End Function
Function UnZip(sArchiveName,sLocation)
Set oFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set oShell = WScript.CreateObject("Wscript.Shell")
'--------Find Working Directory--------
aScriptFilename = Split(Wscript.ScriptFullName, "\")
sScriptFilename = aScriptFileName(Ubound(aScriptFilename))
sWorkingDirectory = Replace(Wscript.ScriptFullName, sScriptFilename, "")
'--------------------------------------
'-------Ensure we can find 7z.exe------
If oFSO.FileExists(sWorkingDirectory & "\" & "7z.exe") Then
s7zLocation = ""
ElseIf oFSO.FileExists("C:\Program Files\7-Zip\7z.exe") Then
s7zLocation = "C:\Program Files\7-Zip\"
Else
UnZip = "Error: Couldn't find 7z.exe"
Exit Function
End If
'--------------------------------------
'-Ensure we can find archive to uncompress-
If Not oFSO.FileExists(sArchiveName) Then
UnZip = "Error: File Not Found."
Exit Function
End If
'--------------------------------------
oShell.Run """" & s7zLocation & "7z.exe"" e -y -o""" & sLocation & """ """ & _
sArchiveName & """", 0, True
UnZip = 1
End Function