8 Febbraio 2009 di Daniele Frulla
1- Utilizzare software esterni che permettano l’esecuzione di programmi da linea di comando;
2- Utilizzare Microsoft attraverso la creazione di VBScript.
1- Software di Terze Parti rispetto a Microsoft
Tra i software di terze parti (cioè che non rientrino tra quelli del sistema operativo) ve ne sono diversi che permettono di zippare cartelle o file tramite un semplice comando così da poter pianificare una compressione ad esempio giornaliera. Ricordiamo tra i più usati:
L’utilizzo è semplicissimo:
– scaricare la versione 7zip command line;
– scomprimere in una cartella
– per comprire in formato zip digitare:
7za.exe a -tzip -r [Archivio.ZIP] [Cartella da Comprimere]
Le opzioni di 7zip da linea di comando sono:
7-Zip (A) 4.64 Copyright (c) 1999-2009 Igor Pavlov 2009-01-03
Usage: 7za […] […]
a: Add files to archive
b: Benchmark
d: Delete files from archive
e: Extract files from archive (without using directory names)
l: List contents of archive
t: Test integrity of archive
u: Update files to archive
x: eXtract files with full paths
-ai[r[-|0]]{@listfile|!wildcard}: Include archives
-ax[r[-|0]]{@listfile|!wildcard}: eXclude archives
-bd: Disable percentage indicator
-i[r[-|0]]{@listfile|!wildcard}: Include filenames
-m{Parameters}: set compression Method
-o{Directory}: set Output directory
-p{Password}: set Password
-r[-|0]: Recurse subdirectories
-scs{UTF-8 | WIN | DOS}: set charset for list files
-sfx[{name}]: Create SFX archive
-si[{name}]: read data from stdin
-slt: show technical information for l (List) command
-so: write data to stdout
-ssc[-]: set sensitive case mode
-ssw: compress shared files
-t{Type}: Set type of archive
-v{Size}[b|k|m|g]: Create volumes
-u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]: Update options
-w[{path}]: assign Work directory. Empty path means a temporary directory
-x[r[-|0]]]{@listfile|!wildcard}: eXclude filenames
-y: assume Yes on all queries
– JZIP:
Per l’utilizzo di JZIP:
jzip -a -r [Archivio.ZIP] [Cartella da Comprimere]
Digitando jzip /? potrete visualizzare il seguente aiuto:
Usage: jzip […]
a: Add Files to archive
d: Delete files from archive
e: Extract files from archive (wìthout using directory names)
u: Update files in archive
m: Move files to archive
f: Freshen archive
-a+: Add and remove archive attribute.
-bx{drive:path}: Changes temporary folder
-l{}: set compression level and method
-i[-]: Add files whose archive attribute is set. Use – to to leave the archive attribute on.
-j[hrs]: Do not store hidden, read only, and system attributes in the Zip file
-J[hrs]: Store hidden, read only, and system attributes in the Zip file
-w[hs]: Include hidden and system files in the zipping process
-W[hs]: Exclude hidden and system files in the zipping process (default)
-m[fu]: Move switches (freshen and update)
-k: Do not update archive file date.
-p|P: store folder names. Upper case option saves also 1 level.
-r: Recurse subdirectories. (To use with p options)
-s[password]: Specify a password.
-t[date]: Include files with a date equal to or more recent
-T[date]: Include files older than the date specified
-x{wildcard}: Exclude filenames
-et: Only test the Zip file
-eo: Don’t ask for overwrite files
-es: Skip older files
-e-: Don’t overwrite files
Per l’utilizzo di Freebyte Zip:
– Scaricare l’applicativo;
– Eseguirlo, scomprimento i file in una cartella;
– per comprire in formato zip digitare:
fbzip -a -r -p [Archivio.ZIP] [Cartella da Comprimere]
Digitando fbzip /? potrete visualizzare il seguente aiuto:
Usage:
expand zipfile with path info:
-e -p zipfile “absolute output-directory path”
add file to zipfile with path info:
-a -p zipfile “absolute input-file path”
add directory to zipfile, recurse and with path info:
-a -r -p zipfile “absolute input-directory path”
Si potrebbe proseguire con la lista di questi software di compressione per molte pagine!
2- Software proprietario Microsoft per la compressione ZIP
I sistemi operativi Microsoft da XP e successive versione permettono la gestione grafica dei file compressi dello standard .ZIP, tuttavia non vi è inclusa una utility da poter utilizzare da linea di comando e quindi automatizzare una procedura di compressione.
In rete si trovano diversi script per creare file ZIP attraverso l’esecuzione di una procedura VBA.
Qui di seguito elenco due tipologie di vbscript per produrre file zip:
1. Riporto di seguito lo script per windows xp che produce file .ZIP.
2. Creare il file crea_zip.vbs e copiarci il seguente codice:
Option Explicit
Const FOF_CREATEPROGRESSDLG = &H0&
Dim sSourceFolder
Dim sArchiveFile
Dim oShell
Dim oZIP
Dim oSourceFolder
‘Settaggio Variabili
sSourceFolder = “C:\Test”
sArchiveFile = “C:\Zip_Out.ZIP“
Dim oFSO
Dim oFile
Dim iFiles
Dim Fldr
Set oFSO = CreateObject( “Scripting.FileSystemObject” )
Set oFile = oFSO.OpenTextFile( sArchiveFile , 2, True )
oFile.Write “PK” & Chr(5) & Chr(6) & String( 18, Chr(0) )
oFile.Close
Set oFile = Nothing
Set oFSO = Nothing
iFiles = 0
With CreateObject(“Shell.Application”)
‘Copy the files to the compressed folder
.NameSpace(sArchiveFile).CopyHere .NameSpace( sSourceFolder ).Items, FOF_CREATEPROGRESSDLG
iFiles = iFiles + .NameSpace( sSourceFolder ).Items.Count
‘Keep script waiting until Compressing is done
On Error Resume Next
Do Until .NameSpace( sArchiveFile ).Items.Count = iFiles
wScript.Sleep 1000
Loop
On Error GoTo 0
End With
Tuttavia se all’interno di C:\Test risultano cartelle vuote si potrebbe generare un errore.
Lascia un commento