Script BAT backup automatico Robocopy Windows

Uno script BAT backup automatico Robocopy Windows permette di copiare periodicamente i file personali su un secondo disco senza trasferire ogni volta l’intero contenuto delle cartelle. Robocopy, incluso in Windows 10 e Windows 11, confronta file e date di modifica e copia soltanto gli elementi nuovi o aggiornati. La procedura seguente salva Documenti, Desktop, Immagini, Video, Musica e Download su un’unità scelta dall’utente. Il metodo non elimina i file presenti nella destinazione, quindi riduce il rischio di cancellazioni accidentali durante il backup.

Come funziona il backup incrementale con Robocopy

Robocopy esegue un backup incrementale quando la cartella sorgente e quella di destinazione vengono confrontate a ogni avvio. Un file nuovo viene copiato, mentre un file modificato sostituisce la versione precedente nella destinazione; i file già identici non vengono trasferiti nuovamente.

Il comando non crea automaticamente più versioni dello stesso documento. Se un file viene modificato, la copia precedente viene sovrascritta, mentre i file cancellati dalla sorgente restano normalmente nella destinazione perché lo script non usa l’opzione /MIR e non usa /PURGE.

Le opzioni principali utilizzate dallo script sono:

  • /E copia tutte le sottocartelle, comprese quelle vuote.
  • /Z abilita la modalità riavviabile, utile con dischi USB o connessioni di rete instabili.
  • /FFT applica una tolleranza ai timestamp, consigliata soprattutto con NAS e file system non completamente compatibili con NTFS.
  • /COPY:DAT copia contenuto, attributi e date dei file, senza trasferire i permessi NTFS.
  • /DCOPY:T conserva le date delle cartelle.
  • /R:3 ritenta tre volte la copia di un file bloccato o temporaneamente non disponibile.
  • /W:5 attende cinque secondi tra un tentativo e l’altro.
  • /XJ evita di seguire i collegamenti alle giunzioni, riducendo il rischio di percorsi duplicati o ciclici.
  • /XO esclude i file della sorgente più vecchi rispetto alla copia già presente.

La documentazione ufficiale di Robocopy per Windows descrive tutte le opzioni disponibili e i relativi codici di uscita.

Come creare lo script BAT per le cartelle personali

Prima di creare il file, collega il disco di backup e verifica la lettera assegnata da Esplora file. Nell’esempio la destinazione è D:BackupPersonale; sostituisci D: con la lettera corretta se il disco utilizza un’altra unità.

Passo 1: creare la cartella dello script

Crea una cartella, per esempio C:Scripts, quindi apri il Blocco note. Incolla il codice seguente e modifica la variabile DEST se necessario.

@echo off
setlocal

set "DEST=D:BackupPersonale"
set "LOG=%DEST%robocopy-backup.log"

if not exist "D:" (
echo Errore: l'unita D: non e disponibile.
exit /b 1
)

if not exist "%DEST%" md "%DEST%"

echo Avvio backup incrementale: %date% %time%

robocopy "%USERPROFILE%Documents" "%DEST%Documenti" /E /Z /FFT /COPY:DAT /DCOPY:T /R:3 /W:5 /XJ /XO /LOG+:"%LOG%" /TEE
robocopy "%USERPROFILE%Desktop" "%DEST%Desktop" /E /Z /FFT /COPY:DAT /DCOPY:T /R:3 /W:5 /XJ /XO /LOG+:"%LOG%" /TEE
robocopy "%USERPROFILE%Pictures" "%DEST%Immagini" /E /Z /FFT /COPY:DAT /DCOPY:T /R:3 /W:5 /XJ /XO /LOG+:"%LOG%" /TEE
robocopy "%USERPROFILE%Videos" "%DEST%Video" /E /Z /FFT /COPY:DAT /DCOPY:T /R:3 /W:5 /XJ /XO /LOG+:"%LOG%" /TEE
robocopy "%USERPROFILE%Music" "%DEST%Musica" /E /Z /FFT /COPY:DAT /DCOPY:T /R:3 /W:5 /XJ /XO /LOG+:"%LOG%" /TEE
robocopy "%USERPROFILE%Downloads" "%DEST%Download" /E /Z /FFT /COPY:DAT /DCOPY:T /R:3 /W:5 /XJ /XO /LOG+:"%LOG%" /TEE

echo Backup terminato: %date% %time%
endlocal

Su alcune installazioni localizzate di Windows, le cartelle visualizzate come “Documenti” o “Immagini” possono avere percorsi diversi, perché il nome mostrato da Esplora file non coincide sempre con il nome fisico della cartella. Verifica il percorso reale aprendo la cartella, facendo clic sulla barra degli indirizzi e copiando il percorso visualizzato.

Passo 2: salvare il file con estensione BAT

Nel Blocco note seleziona File > Salva con nome. Imposta backup-personale.bat come nome del file, scegli Tutti i file nel campo “Salva come” e usa preferibilmente la codifica ANSI o UTF-8 senza particolari caratteri nel percorso.

Il file deve avere estensione .bat, non .bat.txt. Se Windows nasconde le estensioni, apri Esplora file, seleziona Visualizza > Mostra > Estensioni nomi file e controlla il nome completo.

Passo 3: eseguire un test manuale

Fai doppio clic su backup-personale.bat con il disco di destinazione collegato. La prima esecuzione può richiedere tempo perché trasferisce tutti i file; le esecuzioni successive copieranno soltanto i dati nuovi o modificati.

Il registro viene salvato nel file D:BackupPersonalerobocopy-backup.log. L’opzione /TEE mostra l’attività nella finestra del prompt dei comandi e /LOG+ aggiunge i risultati al registro precedente invece di cancellarlo.

Come eseguire automaticamente lo script con Utilità di pianificazione

Utilità di pianificazione di Windows può avviare il file BAT ogni giorno, all’accesso dell’utente o quando il computer rimane inattivo. Il disco di destinazione deve essere disponibile nel momento in cui parte l’attività.

Passo 1: creare una nuova attività

Premi Win e cerca Utilità di pianificazione, quindi apri l’applicazione e seleziona Crea attività di base nel riquadro a destra. Inserisci un nome come “Backup personale Robocopy” e scegli la frequenza desiderata, per esempio Giornaliera.

Imposta un orario in cui il computer è acceso e il disco esterno è collegato. Per un portatile, è preferibile scegliere un momento in cui il dispositivo è alimentato dalla corrente.

Passo 2: indicare il file BAT

Nella schermata dell’azione seleziona Avvia programma. Nel campo del programma inserisci:

C:WindowsSystem32cmd.exe

Nel campo degli argomenti inserisci:

/c "C:Scriptsbackup-personale.bat"

Nel campo Avvia in indica la cartella dello script:

C:Scripts

Salva l’attività e avviala manualmente con il comando Esegui disponibile nel riquadro destro. Se il backup non parte, controlla il percorso del file BAT, la lettera dell’unità esterna e il registro generato da Robocopy.

Precauzioni e limiti del backup Robocopy

Uno script BAT backup automatico Robocopy Windows protegge dai guasti del disco principale, ma non costituisce da solo una strategia completa contro ogni rischio. Un disco esterno sempre collegato può essere danneggiato insieme al computer da guasti elettrici, furti o ransomware.

Per una protezione più solida, conserva almeno una copia scollegata oppure una copia in un luogo diverso. Se devi mantenere le versioni precedenti dei file, usa anche Cronologia file, un servizio di versioning o un secondo script che salvi copie datate; il comando mostrato qui mantiene principalmente lo stato più recente dei dati.

Non aggiungere /MIR senza aver verificato il comportamento desiderato. /MIR sincronizza la destinazione con la sorgente e può eliminare dalla destinazione file che non esistono più nella cartella originale, mentre il presente script conserva quei file.

Per un backup incrementale sicuro, lascia lo script senza /MIR e controlla periodicamente il file di registro.

Potrebbe interessarti anche:

FAQ

Sì, Robocopy è incluso in Windows 10 e Windows 11 e può essere avviato dal prompt dei comandi o tramite uno script BAT.

No. Lo script non usa /MIR/PURGE, quindi i file presenti nella destinazione ma non più nella sorgente vengono conservati.

Sì. Sostituisci la destinazione con un percorso UNC come SERVERBackupPersonale e mantieni /FFT, utile con alcune condivisioni di rete.

Differenze di timestamp, orologio del dispositivo o file system possono far rilevare un file come modificato. L’opzione /FFT riduce questo problema con NAS e destinazioni non NTFS.

No. Un file modificato viene aggiornato nella destinazione. Per conservare più versioni servono Cronologia file, snapshot o copie archiviate separatamente.

Altri articoli di questa serie:

PDF Strumenti PDF gratis Nel browser, senza upload Apri gli strumenti