Script batch riparazione file sistema Windows: tutorial
Uno script batch riparazione file sistema Windows consente di eseguire automaticamente DISM e Controllo file di sistema, due strumenti inclusi in Windows 10 e Windows 11. DISM ripara l’immagine di Windows e il relativo archivio dei componenti, mentre sfc /scannow verifica e sostituisce i file di sistema danneggiati. Il file .bat deve essere avviato con autorizzazioni amministrative e può essere riutilizzato quando compaiono errori, arresti anomali o problemi dopo un aggiornamento. La procedura non elimina i documenti personali e non reinstalla Windows.
Cosa fanno DISM e Controllo file di sistema
DISM, acronimo di Deployment Image Servicing and Management, ripara l’immagine di Windows attualmente in uso con il parametro /Online. L’opzione /Cleanup-Image /RestoreHealth controlla l’archivio dei componenti e tenta di correggere i danneggiamenti utilizzando normalmente Windows Update come origine dei file sostitutivi.
Il Controllo file di sistema viene avviato con il comando sfc /scannow. Windows verifica i file protetti presenti nel sistema e, quando trova copie danneggiate o modificate, prova a sostituirle con versioni integre presenti nell’archivio locale.
L’ordine consigliato è DISM prima di SFC. Se l’archivio dei componenti è danneggiato, SFC potrebbe non riuscire a recuperare i file corretti; per questo lo script esegue prima la riparazione dell’immagine e poi il Controllo file di sistema.
Lo script può essere utile in presenza di:
- Errori durante l’avvio di Windows 10 o Windows 11.
- Arresti anomali di Esplora file o delle applicazioni di sistema.
- File DLL mancanti o danneggiati.
- Problemi comparsi dopo un aggiornamento di Windows.
- Messaggi di Windows Resource Protection relativi a file corrotti.
DISM e SFC non rimuovono virus, non riparano automaticamente i componenti hardware e non recuperano file personali cancellati. Se il disco presenta errori fisici, è opportuno controllare anche lo stato dell’unità e salvare preventivamente i dati importanti.
Come creare lo script batch di riparazione
Passo 1: aprire un nuovo file di testo
Apri il Blocco note di Windows, incolla il codice seguente e salva il file con un nome come ripara_sistema.bat. Nella finestra di salvataggio imposta Tipo file su Tutti i file e assicurati che il nome termini realmente con .bat, non con .bat.txt.
@echo off setlocal title Riparazione file di sistema Windows fltmc >nul 2>&1 if errorlevel 1 ( echo. echo ERRORE: eseguire questo file come amministratore. echo Fare clic con il tasto destro sul file e scegliere "Esegui come amministratore". echo. pause exit /b 1 ) echo ========================================== echo Riparazione dell'immagine di Windows echo ========================================== echo. echo DISM puo richiedere diversi minuti. echo Non chiudere questa finestra durante l'operazione. echo. DISM.exe /Online /Cleanup-Image /RestoreHealth set "DISM_RESULT=%ERRORLEVEL%" echo. if not "%DISM_RESULT%"=="0" ( echo DISM ha terminato con il codice %DISM_RESULT%. echo Verificare il messaggio visualizzato prima di continuare. ) else ( echo DISM ha completato la riparazione. ) echo. echo ========================================== echo Controllo dei file di sistema con SFC echo ========================================== echo. sfc.exe /scannow set "SFC_RESULT=%ERRORLEVEL%" echo. echo ========================================== echo Operazioni completate echo ========================================== echo Codice restituito da DISM: %DISM_RESULT% echo Codice restituito da SFC: %SFC_RESULT% echo. echo Consultare i messaggi mostrati per conoscere il risultato. echo. pause endlocal
Il comando fltmc verifica se la console dispone dei privilegi necessari senza modificare il sistema. Se lo script non viene avviato come amministratore, la procedura si interrompe e mostra il percorso corretto per eseguirlo.
Passo 2: avviare il file con privilegi amministrativi
Fai clic con il tasto destro su ripara_sistema.bat e seleziona Esegui come amministratore. Quando il Controllo dell’account utente mostra la richiesta, scegli Sì.
La finestra del Prompt dei comandi mostrerà la percentuale di avanzamento di DISM e il numero di verifiche eseguite da SFC. Durante DISM /RestoreHealth, la percentuale può rimanere ferma per alcuni minuti senza indicare necessariamente un blocco.
Passo 3: attendere il completamento di entrambi i controlli
Non spegnere il computer e non chiudere la finestra mentre DISM o SFC sono in esecuzione. Il tempo necessario varia in base alla velocità dell’unità, allo stato dell’immagine di Windows e alla disponibilità dei file tramite Windows Update.
Lo script esegue SFC anche se DISM restituisce un codice diverso da zero. Questa scelta permette di ottenere comunque il risultato del Controllo file di sistema, ma un errore DISM persistente deve essere analizzato prima di ripetere più volte la procedura.
Come interpretare il risultato dello script
Al termine, DISM visualizza un messaggio relativo al completamento dell’operazione. Il messaggio The restore operation completed successfully indica che la riparazione dell’immagine è terminata correttamente; il codice salvato dalla variabile DISM_RESULT dovrebbe essere 0.
SFC può mostrare risultati differenti. Se comunica che non ha rilevato violazioni di integrità, i file protetti risultano integri. Se comunica di aver trovato file danneggiati e di averli riparati, riavvia il computer e verifica se il problema è stato risolto.
Quando SFC segnala di aver trovato file danneggiati ma di non averne potuto riparare alcuni, il registro dettagliato si trova normalmente in:
C:WindowsLogsCBSCBS.log
Il file CBS.log contiene molte informazioni tecniche e non è sempre facile da leggere. Per estrarre soltanto le righe relative a SFC sul desktop dell’utente corrente, apri un Prompt dei comandi come amministratore ed esegui:
findstr /c:"[SR]" %windir%LogsCBSCBS.log > "%userprofile%Desktop dettagli_sfc.txt"
Nel comando precedente c’è uno spazio dopo la prima virgoletta del percorso di destinazione? No: per evitare un nome file con spazio iniziale, usa questa versione corretta:
findstr /c:"[SR]" "%windir%LogsCBSCBS.log" > "%userprofile%Desktopdettagli_sfc.txt"
Il file dettagli_sfc.txt verrà creato sul desktop e conterrà le registrazioni prodotte dal Controllo file di sistema. Un codice diverso da zero non identifica sempre lo stesso problema: il testo mostrato da DISM o SFC è più utile del solo numero restituito dal comando.
Cosa fare se DISM non riesce a riparare Windows
DISM può non completare la riparazione quando Windows Update è disattivato, la connessione è assente o l’archivio dei componenti è troppo danneggiato. In questi casi verifica che il computer sia connesso a Internet, riavvia Windows e ripeti lo script una sola volta dopo aver installato gli aggiornamenti disponibili.
Prima di eseguire nuovamente la procedura, controlla anche che il Prompt dei comandi sia effettivamente aperto con privilegi amministrativi. Su Windows 11, il menu visualizzato con Windows + X può mostrare Terminale (amministratore) invece di Prompt dei comandi (amministratore); entrambi possono eseguire il file .bat.
Se Windows Update non fornisce i file necessari, la riparazione può richiedere un supporto di installazione della stessa edizione e versione di Windows già installata. L’immagine ISO deve corrispondere all’architettura e alla versione del sistema, perché l’utilizzo di un’origine non compatibile può produrre altri errori. Microsoft documenta le opzioni di riparazione di DISM nella documentazione ufficiale di Windows.
Dopo una riparazione riuscita, riavvia il computer anche se lo script non lo fa automaticamente. Se gli errori continuano, verifica lo spazio libero sull’unità, i registri di Windows e l’eventuale presenza di problemi hardware prima di eseguire ripetutamente DISM e SFC.
Uno script batch riparazione file sistema Windows rende più ordinata la manutenzione periodica, ma non sostituisce un backup né la diagnosi della causa originale del problema.
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ì. I comandi DISM /Online /Cleanup-Image /RestoreHealth e sfc /scannow sono inclusi in Windows 10 e Windows 11, anche se alcuni messaggi possono variare.
DISM ripara l’archivio dei componenti utilizzato da Windows per recuperare i file originali. Dopo questa operazione, SFC ha maggiori possibilità di sostituire correttamente i file danneggiati.
No. DISM può rimanere per alcuni minuti sulla stessa percentuale mentre elabora l’immagine di Windows. Chiudi la finestra soltanto dopo il messaggio finale e la restituzione del prompt.
No. DISM e SFC riparano componenti e file protetti di Windows senza eliminare documenti, immagini o programmi personali. È comunque consigliato avere un backup aggiornato.
Significa che il Controllo file di sistema ha rilevato danneggiamenti non risolvibili con l’archivio disponibile. In quel caso consulta CBS.log, verifica DISM e valuta una riparazione di Windows con un supporto compatibile.
Altri articoli di questa serie:
- Script batch ripristino rete Windows: DNS e TCP/IP
- Script CMD per pulire Windows Update e riavviare i servizi
- Script CMD backup cartelle Windows con Robocopy
- Script batch pulizia file temporanei Windows: guida sicura
- Script cmd controllo servizi Windows: rapporto
- Script batch controllo spazio disco Windows: avvisi
- Script CMD: trova i file più grandi in Windows
- Script batch controllo disco CHKDSK: salva il report
- Script CMD: punto di ripristino Windows in un clic
