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 .

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:

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:

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