Script batch riparazione file sistema Windows 10/11
Uno script batch riparazione file sistema Windows permette di automatizzare i comandi DISM e SFC integrati in Windows 10 e Windows 11. DISM ripara l’immagine del sistema operativo, mentre SFC controlla e sostituisce i file protetti danneggiati o mancanti. La procedura richiede un Prompt dei comandi avviato con privilegi di amministratore e una connessione Internet attiva per il ripristino dei componenti disponibili tramite Windows Update. Il file batch seguente esegue i controlli nell’ordine corretto, salva l’output in un registro e segnala eventuali errori senza modificare documenti personali.
Cosa fanno DISM e SFC in Windows 10 e 11
DISM e SFC svolgono controlli diversi, quindi è preferibile eseguire prima DISM e poi SFC. Il comando DISM /RestoreHealth verifica l’immagine di Windows, cioè l’insieme dei componenti utilizzati dal sistema per installare, aggiornare e ripristinare i file. Se trova componenti corrotti, tenta di sostituirli usando Windows Update come origine.
SFC, acronimo di System File Checker, analizza i file protetti presenti nell’installazione attiva di Windows. Il comando sfc /scannow ripara automaticamente i file danneggiati quando dispone di copie integre nella cache dei componenti.
La sequenza consigliata è quindi:
- DISM con
/Online /Cleanup-Image /RestoreHealth - SFC con
/Scannow - Riavvio di Windows, se il sistema segnala che alcune riparazioni sono state completate
Questi comandi non reinstallano Windows e non eliminano i file personali. La procedura può però modificare componenti di sistema e deve essere eseguita da un account con autorizzazioni amministrative.
Come creare lo script batch per la riparazione
Passo 1: aprire Blocco note
Premi Windows + R, digita notepad e premi Invio. Incolla nel documento il codice seguente. Lo script crea il file riparazione_windows.log nella stessa cartella del file batch e registra sia l’output di DISM sia quello di SFC.
@echo off setlocal fltmc >nul 2>&1 if errorlevel 1 ( echo Questo script deve essere eseguito come amministratore. pause exit /b 1 ) set "LOG=%~dp0riparazione_windows.log" echo Riparazione di Windows - %date% %time% > "%LOG%" echo. >> "%LOG%" echo Avvio DISM... echo === DISM === >> "%LOG%" DISM.exe /Online /Cleanup-Image /RestoreHealth >> "%LOG%" 2>&1 set "DISM_ERROR=%ERRORLEVEL%" echo. >> "%LOG%" echo === SFC === >> "%LOG%" echo Avvio SFC... sfc.exe /scannow >> "%LOG%" 2>&1 set "SFC_ERROR=%ERRORLEVEL%" echo. >> "%LOG%" echo Codice DISM: %DISM_ERROR% >> "%LOG%" echo Codice SFC: %SFC_ERROR% >> "%LOG%" echo. echo Operazione terminata. echo Il registro e disponibile in: echo %LOG% echo. echo Codice DISM: %DISM_ERROR% echo Codice SFC: %SFC_ERROR% pause exit /b 0
Il controllo con fltmc verifica rapidamente se il file dispone dei privilegi necessari. Se lo script non è stato avviato come amministratore, l’esecuzione si interrompe prima di lanciare DISM e SFC.
Passo 2: salvare il file con estensione BAT
In Blocco note seleziona File > Salva con nome. Imposta un nome come ripara_windows.bat, scegli Tutti i file nel campo del tipo e salva il file in una cartella facilmente accessibile, per esempio il Desktop.
Il nome deve terminare realmente con .bat. Se Blocco note aggiunge .txt, il file potrebbe diventare ripara_windows.bat.txt e Windows lo tratterebbe come un documento di testo. Nel campo della codifica è possibile usare UTF-8; il codice proposto usa messaggi privi di caratteri accentati per ridurre i problemi di visualizzazione nelle versioni meno recenti di Windows.
Passo 3: eseguire il file come amministratore
Fai clic con il tasto destro su ripara_windows.bat e seleziona Esegui come amministratore. Nella finestra di Controllo dell’account utente premi Sì per autorizzare l’esecuzione.
DISM può rimanere a lungo su una determinata percentuale senza indicare un blocco reale. Non chiudere la finestra durante l’analisi e non spegnere il computer, soprattutto quando il comando sta ripristinando i componenti dell’immagine di Windows.
Come interpretare il risultato dello script
Al termine, lo script mostra i codici restituiti da DISM e SFC e indica il percorso del registro. Il file riparazione_windows.log si trova nella cartella che contiene ripara_windows.bat, a meno che il file non sia stato spostato o eseguito da una posizione con restrizioni di scrittura.
Un codice DISM pari a 0 indica che il comando è terminato correttamente. Un codice diverso da 0 segnala un problema durante l’operazione, ma il codice da solo non identifica sempre la causa; per questo è necessario leggere il contenuto del registro.
Per SFC, il messaggio visualizzato nella finestra o nel registro è più utile del solo codice numerico. I risultati principali sono:
- Nessuna violazione di integrità: i file protetti controllati risultano integri.
- File danneggiati riparati: SFC ha trovato problemi e li ha corretti.
- File danneggiati non riparabili: alcuni componenti non sono stati sostituiti automaticamente.
- Impossibile avviare il servizio di riparazione: il servizio Windows Modules Installer o altri componenti del sistema potrebbero non essere disponibili.
Se SFC non riesce a riparare tutti i file, riavvia Windows 10 o Windows 11 e ripeti lo script una seconda volta. Per un’analisi più dettagliata, il registro principale di SFC è C:WindowsLogsCBSCBS.log, mentre DISM registra le proprie operazioni in C:WindowsLogsDISMdism.log.
Cosa fare se DISM restituisce un errore
DISM usa normalmente Windows Update per ottenere i componenti necessari. Una connessione assente, un servizio Windows Update non funzionante, criteri aziendali o componenti di aggiornamento danneggiati possono impedire il completamento del ripristino.
Prima di ripetere la procedura, verifica che Windows 10 o Windows 11 disponga di una connessione Internet stabile e che non siano in corso aggiornamenti. È inoltre opportuno riavviare il computer se Windows ha appena installato aggiornamenti o richiede un riavvio in sospeso.
Non usare un file install.wim preso da un’edizione diversa di Windows senza verificare versione, edizione e indice dell’immagine. Un’origine incompatibile può causare ulteriori errori durante DISM. Se il problema persiste, il registro dism.log contiene dettagli tecnici utili per identificare il componente che non è stato ripristinato.
Lo script non risolve guasti hardware, errori del disco, malware attivi o profili utente danneggiati. Se Windows continua a mostrare schermate blu, arresti anomali o errori di lettura, è necessario controllare anche il disco e analizzare la causa specifica invece di eseguire ripetutamente SFC.
Un script batch riparazione file sistema Windows è efficace per automatizzare DISM e SFC, ma il registro resta indispensabile per valutare il risultato reale.
Potrebbe interessarti anche:
- SFC trova file danneggiati continuamente: CBS.log
- Errore 0x800f081f Windows 11: ripararlo con DISM
- Errore DISM 87 Windows 11: come risolverlo
- Come sbloccare la stampante che non stampa
FAQ
Sì. DISM.exe e sfc.exe sono inclusi nelle installazioni standard di Windows 10 e Windows 11 e usano la stessa sintassi principale.
Sì. DISM e SFC richiedono privilegi elevati per modificare i componenti e i file protetti di Windows.
È preferibile non avviare programmi pesanti e non interrompere la procedura. DISM e SFC possono utilizzare risorse del sistema e richiedere diversi minuti.
Lo script salva riparazione_windows.log nella stessa cartella del file .bat. Windows conserva inoltre i log dettagliati in C:WindowsLogsCBSCBS.log e C:WindowsLogsDISMdism.log.
Riavvia Windows, esegui nuovamente DISM e poi SFC, quindi controlla CBS.log. Se l’errore rimane, la causa può riguardare Windows Update, il disco o componenti non disponibili nell’immagine installata.
Altri articoli di questa serie:
- 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 BAT backup automatico Robocopy Windows
- 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
