Windows 8 und höher reparieren

Da ich selbst ein Problem mit dem Windows Installer hatte, bemühte ich mich “sfc /scannow” auszuführen. Aber das klappte nicht, da der Komponenten-Speicher defekt war. Recherchen ergaben, dass man mit DISM.exe unter der Admin-Konsole mit restoreHealth als Option das Ganze wieder repariert, jedoch klappte das nicht, da die Kopien der Komponenten selbst auch defekt waren. Lösung ist hier das Windows Installationsmedium (\sources\sxs). Zu dem Ganzen habe ich eine Batch-Datei geschrieben und möchte sie hiermit speichern und veröffentlichen:


@echo off
echo ________________________________________________________________________________
set rep_src=
if "%~1" == "/f" goto FORCE_REPAIR
if "%~1" == "/F" goto FORCE_REPAIR
echo Überprüfe Komponentenspeicher...
dism /online /cleanup-image /checkhealth > NUL
if not errorlevel 0 goto REPAIR
echo Alles okay...
goto EXIT_BATCH
:REPAIR
echo Komponentenspeicher muss repariert werden (das kann dauern)...
:FORCE_REPAIR
echo Absoluter Pfad zu den Komponenten (SXS, optional/empfohlen) wird benötigt.
echo.
echo Z.B. von einer 2. Partition (selbe Win-Ver ^& heile):
echo D:\Windows\WinSxS
echo Oder z.B. vom Windows-Installations-Medium:
echo E:\sources\sxs
echo Oder per Wim-Datei:
echo wim:E:\sources\install.wim:1
echo.
set /p rep_src="Bitte die Quelle eingeben: "
if "%rep_src%" == "" goto NO_SOURCE
echo Reparatur wird gestartet...
dism /online /cleanup-image /restorehealth /source:%rep_src% /limitaccess
goto EXIT_BATCH
:NO_SOURCE
echo Keine Eingabe der Quelle. Reparatur mit viel Glück...
echo.
dism /online /cleanup-image /restorehealth
:EXIT_BATCH
set rep_src=
echo ________________________________________________________________________________