42660 Letture

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

Come passo finale, è necessario copiare nella directory radice dell'unità rimovibile i file autorun.bat, autorun.inf e backup.ico.
Per comodità tali file (compreso lo script backup.vbs) sono scaricabili cliccando qui.
Si noti che lo script contenuto nel file compresso Zip, utilizza l'istruzione Const FOF_CREATEPROGRESSDLG = &H4&: la finestra che informa sullo stato di avanzamento dell'operazione di copia di file e cartelle non viene mostrata. Per farla comparire è necessario impostare il valore della costante a &H0& (riga 10).

A questo punto si provveda a scollegare l'unità rimovibile USB (Rimozione sicura dell'hardware, in basso a destra) per poi riconnetterla: la procedura di "autoplay" dovrebbe venire immediatamente avviata. A video dovrebbe infatti comparire la finestra seguente:


Facendo doppio clic sulla prima voce, dovrebbe venire avviata la procedura di backup dei dati.


Qualora ciò non dovesse accadere (mancata comparsa della finestra contenente l'indicazione Cliccare qui per avviare il backup automatico utilizzando il programma presente nel dispositivo), è probabile che abbiate disattivato l'"autorun", almeno per certe tipologie di periferiche.
Chi ha esperienza con le modifiche sul registro di sistema di Windows, può portarsi in corrispondenza della chiave HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer. Il valore di default (esadecimale) di NoDriveTypeAutoRun è 91. Utilizzando tale impostazione, Windows non esegue l'"autoplay" solamente sui dispositivi sconosciuti e sulle unità di rete. Il valore 91 risulta dalla somma di 1+80+10, come si evince dalla tabella seguente.

1disabilita l'autoplay sulle unità sconosciute
4disabilita l'autoplay sui dischi floppy
8disabilita l'autoplay sui dischi fissi
10disabilita l'autoplay sulle unità di rete
20disabilita l'autoplay sulle unità CD ROM
40disabilita l'autoplay sulle unità RAM
80disabilita l'autoplay sulle unità sconosciute
FFdisabilita l'autoplay su tutte le unità

Qualora NoDriveTypeAutoRun fosse impostato sul valore FF (decimale: 255), non verrebbe eseguito l'autoplay su nessuna unità, CD/DVD ROM compresi.

Come anticipato nell'introduzione, lo script VBS (backup.vbs) potrebbe essere ampiamente migliorato. Si potrebbe ad esempio fare in modo che l'utente non sia costretto a specificare file e cartelle oggetto del backup direttamente all'interno dello script ma che le sue preferenze siano specificabili mediante l'utilizzo di un file di testo.
Ulteriori sviluppi potrebbero essere mirati all'ottimizzazione della procedura di backup: attraverso una finestra di dialogo l'utente potrebbe richiedere un backup completo od uno che si limiti solamente a copiare i file aggiornati.


Fateci conoscere il vostro parere e come, eventualmente, avete migliorato lo script VBS.


  1. Avatar
    claudioz
    16/11/2010 17:12:16
    pciao Sonia, ti ho fatto un semplicissimo script che fara il backup dei messaggi di outlook e la rubrica, per inserire gli account lo script diventera meno comprensibile ma considera che sara veramente raro che il tuo amico cieco creera nuovi account e comunque ti dico che risiedono nel registro di sistema (regedit) alla chiave eccoti lo script vbs scelta = InputBox ("inserisci r per Ripristino o b per Backup?", "benvenuto al programma di backup e ripristino outlook") percorsomessaggioutlook = "C:\Documents and Settings\Claudio\Impostazioni locali\Dati applicazioni\Identities\{C65721B1-54A5-427C-A9A7-9A2D25D8B0BB}\Microsoft\Outlook Express" percorsomessaggibackup = "D:\Documenti\backup outlook" percorsorubricaoutlook = "C:\Documents and Settings\Claudio\Dati applicazioni\Microsoft\Address Book" percorsorubricabackup = "D:\Documenti\backup outlook\rubrica" if scelta = "b" then CreateObject("Scripting.FileSystemObject").DeleteFolder percorsomessaggibackup & "\*" if scelta = "r" then CreateObject("Scripting.FileSystemObject").DeleteFile percorsomessaggioutlook & "\*" if scelta = "b" then CreateObject("Scripting.FileSystemObject").CopyFolder percorsomessaggioutlook, percorsomessaggibackup & "\messaggi" if scelta = "b" then CreateObject("Scripting.FileSystemObject").CopyFolder percorsorubricaoutlook, percorsorubricabackup if scelta = "r" then CreateObject("Scripting.FileSystemObject").CopyFolder percorsomessaggibackup & "\messaggi", percorsomessaggioutlook if scelta = "r" then CreateObject("Scripting.FileSystemObject").CopyFolder percorsorubricabackup, percorsorubricaoutlook visto che usi ghost vuol dire che hai almeno due partizioni e quindi la tua cartella documenti e' sicuramente stata spostata in D PS controlla bene i percorsi e modificali perche da computer a computer variano leggermente e ricorda di creare nella tua cartella documenti una cartella dal nome "backup outlook" lo script che ti ho fatto e' di una semplicita elementare e lo puoi modificare magari miscelandolo allo script che vedi qui ad inizio pagina ove il backup parte da unita rimovibile
  2. Avatar
    soniaa
    15/11/2010 01:31:36
    Salve, sono ancora Sonia, sii ora funziona!!... non avevo scritto il nome del miocomputer maiuscolo....opps devo dire che questo e' proprio un bel programmino, non si deve installare nulla! Complimentoni!... Visto che nel tempo libero aiuto un cieco all'apprendimento dell'uso PC, utilizzero questo programmino mettendolo su una pendrive ed inseriro' nello script le cartelle di outlook rubrica account e messaggi, cosi lui ogni tanto puo inserire la pendrive ed il backup sara eeffettuato in automatico, cosi quando incasina il pc gli bastera fare un bel ghost che gli ho preparato. Il problema pero e' che poi io dovro andare da lui a rispostare i files dalla pendrive a C:... Qualcuno di voi potrebbe fare magari uno script che automatizza cio? Diamo una mano ai disabili ...su dai...
  3. Avatar
    soniaa
    14/11/2010 03:25:38
    confermo la cartella viene creata ma rimane vuotaaa!
  4. Avatar
    Leo1983
    04/03/2009 17:16:53
    Salve a tutti.. Ho modificato lo script e in effetti funziona. Solo che se inserisco la chiave usb mi si apre la finestra dell'autoplay ma dentro non c'è l'icona del backup...cosa ho sbagliato???
  5. Avatar
    Cricri
    05/02/2009 10:29:17
    Ciao a tutti, molto utile questa cosa! Io uso le memorie Usb soprattutto per scambiare file musicali con amici e amiche. E' possibile modificarlo per fare in modo che inserendo una memoria Usb nel computer, questa vada a copiare in automatico tutti i file musicali presenti nel pc? (che purtroppo non sono mai solo nella cartella "musica", ma in giro per il desk, nelle cartelle di C, ecc...) :? In pratica mi servirebbe che riconosca solo i file con estensione ".mp3", ".wma", e se proprio anche ".mpc", ma soprattutto i primi due, e che non sia vincolato da un particolare nome computer, ma che funzioni su qualsiasi pc. Cosa devo modificare del codice per fare in modo che funzioni in questo modo? Grazie in anticipo per l'attenzione! Cristina
  6. Avatar
    sasde
    21/12/2008 17:09:39
    Salve, molto bello questo script ma è possibile aggiungere la data odierna ogni volta che viene effettuato il backup? grazie
  7. Avatar
    Michele Nasi
    23/10/2008 10:48:31
    Hai sostituito l'indicazione MIOCOMPUTER alla riga 22 dello script vbs con il nome assegnato al tuo computer?
    Hai specificato opportunamente (funzione copiafile) le cartella da "backuppare"?
  8. Avatar
    alexx
    23/10/2008 09:33:54
    ho un problema con lo script: crea la cartella con il nome del computer, ma rimane vuota: non copia nessun file!
    qualcuno potrebbe aiutarmi?
    Grazie
  9. Avatar
    Riccardo B
    15/09/2008 12:00:21
    Bello script.
    Concordo sul fatto che sarebbe opportuno dare la possibilità all'utente di poter scegliere se effettuare un backup completo e/o un backup dei soli file aggiornati (data e/o dimensione modificate).
    Questo per ridurre eventualmente i tempi dello stesso.
  10. Avatar
    h0nd1z
    13/08/2008 16:17:26
    un bel robocopy /MIR e sono + contento :)
Backup automatico di file e cartelle su un'unità rimovibile - IlSoftware.it - pag. 2