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.
Leggi anche: Script batch riparazione file sistema Windows: tutorial
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
Altro per te
WindowsScript CMD per riparare Windows Update
Uno script CMD per riparare Windows Update può risolvere errori causati da una cache danneggiata o da servizi di sistema bloccati. La procedura arresta…
Script BAT per controllare lo spazio disco in Windows
Script CMD per archiviare file vecchi su Windows
Script batch rapporto diagnostico Windows: tutorial
Script CMD: trova i file più grandi in Windows
Stampante bloccata? Puliamo lo Spooler di Stampa su Windows (Coda Stampante)
PulisciWindows BACKdigit: lo script che pulisce e velocizza Windows in un colpo solo
VMware Workstation: “The specified virtual disk needs repair”, come risolvere l’errore
Su eBay: Windows 11
- Minimum RAM: 2 GB
- Number of Devices: 1 Computer/Device
- Tipo: SSD interno
Link affiliati: se acquisti, BACKdigit riceve una piccola commissione senza costi per te.
