Alex's Weblog

Weblog di Ermanno Goletto (Codename Alex - A Learning EXperience)
posts - 438, comments - 4214, trackbacks - 294

My Links

News

Il blog è stato
trasferito al
 seguente link:


DevAdmin Blog

Add my blog to Live

Foto

Curriculum Vitae


Il contenuto di questo blog e di ciascun post viene fornito “così come é”, senza garanzie, e non conferisce alcun diritto. Questo blog riporta il mio personale pensiero che non riflette necessariamente il pensiero del mio datore di lavoro.

Logo Creative Commons Deed


Logo MCTS

Logo MCSA

Logo MCP

Logo Microsoft Certified Business Management Solutions Professional

Microsoft Certified Business Management Solutions Specialist


Logo UGIdotNET UGIdotNET Contributor


Logo UGISS UGISS Contributor


Logo SysAdmin.it SysAdmin.it Staff


Article Categories

Archives

Post Categories

Blogs

Database

Development

Friends

IT

Knowledge Base

Links

MBS

MCP

MVP Sites

User Groups

Virtualization

Script per comprimere un file

A volte in uno script amministrativo può essere necessario dover comprimere un file e in tal caso una possibilità è quella di usare le cartelle comprese presenti a partire da XP.

[Update] Si tenga conto che Le cartelle compresse di XP hanno il limite di 4 GB

Option Explicit

Dim strScriptFullName, strCurrentPath, strZipFilePath, strAddFilePath

strScriptFullName = wscript.scriptfullname
strCurrentPath = Left(strscriptfullname, InStrRev(strScriptFullName, "\"))
strZipFilePath = strCurrentPath & "test.zip"
strAddFilePath = strCurrentPath & "test.txt"

'Crea un file zip vuoto
If CreateEmptyZip(strZipFilePath) Then

  'Aggiunge un file all'archivio zip
  Call AddFile2Zip(strZipFilePath, strAddFilePath)

End If

Function CreateEmptyZip(strZipFilePath)
  On Error Resume Next

  'Apertura file in scrittura
  Dim objFso, objFile
  Const ForWriting = 2
  Set objFso = CreateObject("Scripting.FileSystemObject")
  Set objFile = objFso.OpenTextFile(strZipFilePath, ForWriting, True)

  If Err = 0 Then
    objFile.Write Chr(80) & Chr(75) & Chr(5) & Chr(6) & String(18, 0)
  End If

  If Err = 0 Then
    objFile.Close
  End If

  Set objFso = Nothing
  Set objFile = Nothing 

  If Err = 0 Then
    CreateEmptyZip=True
  Else
    Err.Clear
    CreateEmptyZip=False
  End If
End Function

Function AddFile2Zip(strZipFilePath, strAddFilePath)
  'On Error Resume Next

  Dim objApp, objFolder
  Set objApp = createobject("Shell.Application")
  Set objFolder = objApp.NameSpace(strZipFilePath)

  If Err = 0 Then
    Call objFolder.CopyHere(strAddFilePath)

    'Le opzioni di CopyHere sembrano non avere effetto
    'per operazioni su cartelle compresse

    'Pausa per consentire l'avvio del processo di compressione
    'in quanto il processo verrà avviato quando quando il
    'processo dello script verrà messo in idle se il
    'processo dello script termina prima il processo
    'di compressione non viene avviato.
    'Ciò accade perchè CopyHere è asincrona
     wscript.Sleep 500
  End If

  Set objFolder = Nothing
  Set objApp = Nothing

  If Err = 0 Then
    AddFile2Zip = True
  Else
    Err.Clear
    AddFile2Zip = False
  End If
End Function

Print | posted on giovedì 31 gennaio 2008 17:11 | Filed Under [ Code & Snippet IT ]

Feedback

Gravatar

# re: Script per comprimere un file

China wholesale Center
04/07/2011 15:47 | wikecamera
Gravatar

# re: Script per comprimere un file

I'm excitied for all the articles we are going to read! I can't wait to read all the articles available on the website. Spinning Top
21/07/2011 06:18 | Spinning Top
Gravatar

# kamagra oral jelly review uk sen

kamagra oral jelly kaufen thailand
buy kamagra 100 mg oral jelly
kamagra oral jelly in thailand
[url=http://kamagraonl.com/]buy kamagra 100mg[/url]
kamagra 100 chewable
http://kamagraonl.com/
kamagra oral jelly usa
09/05/2018 17:12 | Michaelbeple
Gravatar

# kamagra shop erfahrungen sen

kamagra 100mg oral jelly india
kamagra 100 mg oral jelly
kamagra dosage
[url=http://kamagraonl.com/]buy kamagra 100 mg[/url]
kamagra oral jelly in india
http://kamagraonl.com/
kamagra jelly 100mg
10/05/2018 10:21 | Marionurive
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET