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:
/Ecopia tutte le sottocartelle, comprese quelle vuote./Zabilita la modalità riavviabile, utile con dischi USB o connessioni di rete instabili./FFTapplica una tolleranza ai timestamp, consigliata soprattutto con NAS e file system non completamente compatibili con NTFS./COPY:DATcopia contenuto, attributi e date dei file, senza trasferire i permessi NTFS./DCOPY:Tconserva le date delle cartelle./R:3ritenta tre volte la copia di un file bloccato o temporaneamente non disponibile./W:5attende cinque secondi tra un tentativo e l’altro./XJevita di seguire i collegamenti alle giunzioni, riducendo il rischio di percorsi duplicati o ciclici./XOesclude 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:
- Windows Update bloccato allo 0 Windows 11: script PowerShell
- Reimpostare proxy WinHTTP Windows 11 con netsh
- Perché Usare il Prompt dei Comandi di Windows al Posto dell'Interfaccia Grafica
- Windows ti spia? Ecco cos'è la Telemetria di Windows e come disattivarla in pochi minuti!
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 né /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:
- Script batch riparazione file sistema Windows 10/11
- Script BAT per pulire i file temporanei di Windows
- Script batch reset rete Windows: ripristino completo
- Script CMD per riparare Windows Update
- Script batch rapporto diagnostico Windows: tutorial
- Script batch controllo servizi Windows e arresti
- Script CMD per archiviare file vecchi su Windows
- Script batch: organizza i file per estensione
- Script BAT per controllare lo spazio disco in Windows
