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 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:

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:

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