ForeverTheOtherGuy66

Auto_WinFIX.bat

Jun 15th, 2025
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 4.47 KB | Source Code | 0 0
  1. @echo off
  2. setlocal EnableDelayedExpansion
  3.  
  4. rem ────────────────────────────────────────────────────────────────────
  5. rem 1) SELF‑INSTALLATION & SCHEDULED TASK (runs only on first launch)
  6. rem ────────────────────────────────────────────────────────────────────
  7.  
  8. set "TASK_NAME=SFC_DISM_Auto_Repair"
  9. set "INSTALL_DIR=%ProgramData%\%TASK_NAME%"
  10. set "LOG_DIR=%INSTALL_DIR%\Logs"
  11.  
  12. rem  ─ Copy this script into ProgramData if it’s not already there
  13. if /I not "%~dp0"=="%INSTALL_DIR%\" (
  14.     md "%INSTALL_DIR%" 2>nul
  15.     copy "%~f0" "%INSTALL_DIR%\%~nx0" >nul
  16.     md "%LOG_DIR%" 2>nul
  17.  
  18.     rem  ─ Create a Task Scheduler entry to run the copied script at logon (3‑minute delay)
  19.     schtasks /Create /TN "%TASK_NAME%" ^
  20.         /TR "\"%INSTALL_DIR%\%~nx0\"" ^
  21.         /SC ONLOGON /DELAY 0003:00 /RL HIGHEST /F >nul
  22.  
  23.     echo Installed scheduled task "%TASK_NAME%" to run on logon with 3‑minute delay.
  24.     echo Launching the installed copy...
  25.     start "" "%INSTALL_DIR%\%~nx0%"
  26.     exit /b
  27. )
  28.  
  29. rem ────────────────────────────────────────────────────────────────────
  30. rem 2) DELAY BEFORE REPAIR
  31. rem ────────────────────────────────────────────────────────────────────
  32.  
  33. echo Waiting 3 minutes before system repair...
  34. timeout /t 180 /nobreak >nul
  35.  
  36. rem ────────────────────────────────────────────────────────────────────
  37. rem 3) SET UP LOG FILENAME (zero‑padded HHMM)
  38. rem ────────────────────────────────────────────────────────────────────
  39.  
  40. for /f "tokens=1-2 delims=:." %%H in ("%time%") do (
  41.     set "H=%%H" & set "M=%%I"
  42. )
  43. if !H! lss 10 set "H=0!H!"
  44. set "DATESTAMP=%DATE:~10,4%-%DATE:~4,2%-%DATE:~7,2%"
  45. set "TIMESTAMP=!H!!M!"
  46. set "LOG_FILE=%LOG_DIR%\repair_!DATESTAMP!_!TIMESTAMP!.log"
  47.  
  48. rem ────────────────────────────────────────────────────────────────────
  49. rem 4) RUN DISM & SFC, LOG EVERYTHING
  50. rem ────────────────────────────────────────────────────────────────────
  51.  
  52. echo ==================================================== >> "!LOG_FILE!"
  53. echo RUN AT %DATE% %TIME:~0,8%       >> "!LOG_FILE!"
  54. echo ==================================================== >> "!LOG_FILE!"
  55.  
  56. echo Running DISM /online /cleanup-image /restorehealth >> "!LOG_FILE!" 2>&1
  57. dism /online /cleanup-image /restorehealth             >> "!LOG_FILE!" 2>&1
  58.  
  59. echo.                                                 >> "!LOG_FILE!"
  60. echo Running SFC /scannow                             >> "!LOG_FILE!" 2>&1
  61. sfc /scannow                                         >> "!LOG_FILE!" 2>&1
  62.  
  63. rem ────────────────────────────────────────────────────────────────────
  64. rem 5) ERROR HANDLING & FINALIZE
  65. rem ────────────────────────────────────────────────────────────────────
  66.  
  67. if %errorlevel% neq 0 (
  68.     echo [ERROR] Command(s) failed with exit code %errorlevel%. >> "!LOG_FILE!"
  69. ) else (
  70.     echo [OK] All commands completed successfully.      >> "!LOG_FILE!"
  71. )
  72.  
  73. echo Completed at %DATE% %TIME:~0,8%                  >> "!LOG_FILE!"
  74. echo ==================================================== >> "!LOG_FILE!"
  75.  
  76. rem  ─ Give you 10s to see the “log written” message if you’re watching
  77. echo.
  78. echo Repair log written to "!LOG_FILE!"
  79. timeout /t 10 /nobreak >nul
  80.  
  81. endlocal
  82. exit /b
  83.  
Tags: Fix windows Task
Advertisement
Add Comment
Please, Sign In to add comment