VBScript

Backup automatico di file e cartelle su un’unità rimovibile

  • Backup con VBScript senza utilità di terze parti

Avete mai pensato come potrebbe essere comodo effettuare un backup automatico del contenuto di cartelle specifiche su un’unità rimovibile (un hard disk esterno od una penna USB, ad esempio), non appena questa venga collegata al personal computer?
Ben lungi dal voler proporre una soluzione “definitiva”, illustriamo in quest’articolo una metodologia, semplice da applicare, che non richiede l’impiego di nessuna utilità sviluppata da terze parti.

Teniamo presente da  subito,che lo script .vbs

in grado di effettuare la copia automatizzata delle cartelle indicate può essere ampiamente migliorato. Anzi, vi invitiamo ad inviarci i vostri commenti in merito sottoponendoci proposte di modifica.
Mettendo in pratica i suggerimenti presentati nell’articolo, ogniqualvolta si connetta l’unità disco esterna al sistema in suo, uno script – eseguito in modo automatico – si farà carico di creare una copia di backup delle cartelle specificate, dei file in essi contenuti e di tutte le eventuali sottocartelle. Ogni directory oggetto del backup, verrà automaticamente memorizzata, a sua volta, all’interno di una cartella avente il nome del computer in uso.
In questo modo, collegando l’unità rimovibile al COMPUTER1, le cartelle oggetto del backup verranno salvate nella directory \COMPUTER1; connettendo la periferica al COMPUTER2, le directory indicate saranno invece salvate in \COMPUTER 2

e così via.
Per verificare il nome assegnato al computer che si sta utilizzando, è sufficiente fare clic con il tasto destro del mouse sull’icona Risorse del computer quindi sulla scheda Nome computer.

Nei nostri test abbiamo usato un comunissimo “hard drive case” USB 20 (Sitecom MD-206) installandovi, al suo interno, un disco fisso SATA





 




Dopo aver collegato il disco fisso al personal computer attraverso il cavo USB in dotazione con l'”hard drive case”, abbiamo creato, nella directory radice dell’unità, il seguente file VBScript (backup.vbs):

Dim computername Dim ParentFolder Dim objShell Dim objFolder Set WshNetwork = WScript.CreateObject(“WScript.Network”) computername = WshNetwork.ComputerName Set WshShell = WScript.CreateObject(“WScript.Shell”) Const FOF_CREATEPROGRESSDLG = &H0& Const FOF_NOCONFIRMATION = 16 Const FOF_NOCONFIRMDIRCREATE = 512 ParentFolder = WshShell.CurrentDirectory creadirectory ParentFolder if right(ParentFolder,1)”\” then ParentFolder=ParentFolder&”\” select case computername ‘ modificare inserendo altri computer e le varie cartelle ‘ oggetto del backup: ‘ ——————————————————- case “MIOCOMPUTER” copiafile “d:\documenti”, ParentFolder&computername copiafile “c:\lavori”, ParentFolder&computername copiafile “c:\foto\rossi”, ParentFolder&computername copiafile “C:\prova\test”, ParentFolder&computername ‘ ——————————————————- ‘ fine modifiche end select function creadirectory (nomedirectory) Set objShell = CreateObject(“Shell.Application”) Set objFolder = objShell.NameSpace(nomedirectory) objFolder.NewFolder computername end function function copiafile (sorgente, destinazione) Set objShell = CreateObject(“Shell.Application”) Set objFolder = objShell.NameSpace(destinazione) objFolder.CopyHere sorgente, FOF_CREATEPROGRESSDLG + FOF_NOCONFIRMATION + FOF_NOCONFIRMDIRCREATE end function WScript.Quit

Analizziamo rapidamente il funzionamento dello script. L’istruzione alla riga 6 (computername = WshNetwork.ComputerName

), si occupa di recuperare il nome del computer in uso mentre l’istruzione alla riga 14, la lettera identificativa dell’unità rimovibile.
Successivamente (riga 16) viene invocata una funzione (function creadirectory (nomedirectory)

) che si occupa di creare, nella directory radice dell’unità rimovibile, una cartella alla quale viene assegnato il nome del computer (riga 34) precedentemente rilevato.
Alla riga 17 viene controllato che la lettera identificativa dell’unità rimovibile contenga un “backslash” (barra rovesciata) finale; in caso contario, viene aggiunto.

Il select case alla riga 19, permette di definire un comportamento diverso per ciascun computer al quale l’unità esterna viene collegata.
Nell’esempio (riga 22), lo script VBS – nel caso in cui venga eseguito su un sistema denominato
MIOCOMPUTER – provvede a creare una copia delle cartelle di seguito indicate (righe 23-26) utilizzando la funzione copiafile.
Tale funzione, com’è possibile verificare, riceve in ingresso la cartella contenente i file oggetto del backup e la cartella di destinazione.
L’operazione di copia dei file e delle cartelle avviene (riga 40) usando le preferenze definite mediante l’impiego delle costanti
FOF_CREATEPROGRESSDLG, FOF_NOCONFIRMATION e FOF_NOCONFIRMDIRCREATE (righe 10-12).
Se non si desidera che venga mostrata una finestra di dialogo durante la copia,
FOF_CREATEPROGRESSDLG va impostato a &H4&; viceversa, il valore della costante deve essere posto a &H0&

(riga 10).
Le altre due costanti, invece, permettono, rispettivamente, di non richiedere alcuna conferma in caso di sovrascruttura di file e cartelle né all’atto della creazione di nuove directory.

Le righe 22-26 sono ovviamente liberamente personalizzabili. E’ sufficiente sostituire le cartelle inserite a titolo esemplificativo nel file con quelle oggetto di backup avendo cura di modificare (riga 22) anche il nome del computer.
Aggiungendo una nuova istruzione case “NOMECOMPUTER” dopo la riga 26, quindi specificando, nelle righe seguenti, le directory d’interesse (esempio: copiafile “X:\CARTELLA_ORIGINE”, ParentFolder&computername), è possibile fare in modo che lo script VBS si comporti in modo adeguato ogniqualvolta venga connessio al computer A, B o C.
• Backup con VBScript senza utilità di terze parti
• Avvio del backup automatico

alt=”Upnews.it” />

 
Bookmark and Share


alt=”” border=”0″>

Annunci

Allway Sync 8.1.0

 

 

 

 

 

 

 

Un software semplice da usare che permette di sincronizzare il contenuto di due cartelle। E’ la soluzione ideale per tutti coloro che necessitano di tenere aggiornato il contenuto di due directory differenti l’una posizionata sul disco fisso e l’altra, ad esempio, su una unità rimovibile (si pensi ad una chiave USB). L’operazione di analisi permette di rilevare le differenze; quella di sincronizzazione di adeguare il contenuto vero e proprio delle cartelle.

Sistema operativo:

Vista -2003 server-XP-2000-9X-NT

 

Licenza: Freeware – Dimensioni: 4 MB – Lingua: Inglese

Sito web del produttore: http://www.allwaysync.com/