@echo off
Chcp 866 >nul
  title  Проверка целостности системных файлов.
   SetLocal EnableExtensions EnableDelayedExpansion 
    SET Version=Unknown
    VER | FINDSTR /IL "5.0" > NUL
    IF %ERRORLEVEL% EQU 0 SET Version="Windows 2000"
    VER | FINDSTR /IL "5.1." > NUL
    IF %ERRORLEVEL% EQU 0 SET Version="Windows XP"
    VER | FINDSTR /IL "5.2." > NUL
    IF %ERRORLEVEL% EQU 0 SET Version="Windows 2003"
    VER | FINDSTR /IL "6.0." > NUL
    IF %ERRORLEVEL% EQU 0 SET Version="Windows Vista"
    VER | FINDSTR /IL "6.1." > NUL
    IF %ERRORLEVEL% EQU 0 SET Version="Windows 7"
    VER | FINDSTR /IL "6.2." > NUL
    IF %ERRORLEVEL% EQU 0 SET Version="Windows 8"
  
    echo.
    echo.
    IF %VERSION% == "Windows XP" GOTO XP
    IF %VERSION% == "Windows 2000" GOTO XP
    IF %VERSION% == "Windows 2003" GOTO XP
    IF %VERSION% == "Windows Vista" GOTO Elevate
    IF %VERSION% == "Windows 7" GOTO Elevate
    IF %VERSION% == "Windows 8" GOTO Elevate
    GOTO Unknown
:WIN7
  REG DELETE hkcr\test.associatoon /f
  cls
  echo Версия Вашей операционной системы: %VERSION%
  echo.
  echo.
  echo ----  _SFC_  ----
  echo.
  echo  Если есть установочный диск с версией Вашей Windows вставьте его в дисковод.
  echo.   
  echo.
  echo 1. Продолжить проверку без диска
  echo (Введите цифру 1 и нажмите клавишу Enter)
  echo.
  echo 2. Продолжить проверку с диском
  echo (Вставьте диск в дисковод,введите цифру 2 и нажмите клавишу Enter)
  echo.
  If exist %~dp0Elevating.vbs (erase /q %~dp0Elevating.vbs)
GoTo menu
:menu
set choice=
  Set /p choice="Ваш выбор: "
   if not defined choice goto menu
    if "%choice%"=="1" (goto sfco)
     if "%choice%"=="2" (goto sfco)
      Echo.
      cls
      Echo ═Вы выбрали неверное значение=
      Echo.
      echo.
      echo.
     echo 1. Продолжить проверку без диска
    echo (Введите цифру 1 и нажмите клавишу Enter)
   echo.
  echo 2. Продолжить проверку с диском
echo (Вставьте диск в дисковод,введите цифру 2 и нажмите клавишу Enter)
goto menu
:Elevate
reg add  hkcr\test.associatoon /f && goto :WIN7
  cls 
   Echo Требуются права Администратора.
    Echo.
    echo Для продолжения нажмите клавишу ENTER
      echo.
      pause>nul
          Echo CreateObject^("Shell.Application"^).ShellExecute WScript.Arguments^(0^),"%~1","","runas",1 >"%~dp0Elevating.vbs"
           cscript.exe //nologo "%~dp0Elevating.vbs" "%~dpnx0"& exit
        
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::         
:sfco
  cls
  Echo.
  Echo ВНИМАНИЕ!
  Echo.
  Echo Сейчас будет запущена проверка системных файлов на целостность.
  Echo Не выключайте компьютер и не закрывайте окно консоли пока не закончится проверка
   sfc/scannow||(
               cls
               echo Ошибка выполнения скрипта,перезагрузите компьютер и попробуйте снова
               echo запустить скрипт.
              Echo.
               echo Сообщите о проблеме хэлперу .
               ping -n 10 127.0.0.1 > NUL
               GoTo exite
              )
echo.
echo.
echo.
echo.
echo Проверка завершена,теперь выберите папку для сохранения результата проверки,
echo он будет сохранен в выбранной папке в виде файла Sfcdetalis.txt
echo Прикрепите его на форум к вашему сообщению.
goto folder
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:folder
(
  echo on error resume next
   echo  sPath = CreateObject^("Shell.Application"^).BrowseForFolder^(0, "┬√схЁшЄх яряъє фы  ёюїЁрэхэш  ыюура", 17^).self.Path
    echo if not err then WScript.Echo ^(sPath^) )> "%~dp0Copy.vbs"
  
For /F "delims=" %%a in ('cscript.exe //nologo "%~dp0Copy.vbs" "%~dpnx0"') do set live=%%a
if not Defined live Echo ( Не выбран каталог для сохранения лога
   cls
    goto folder
                  )
    goto parser
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::             

arser
echo Вы выбрали папку "%live%"
  echo.
  del /f /q %~dp0Copy.vbs
  del /f /q %~dp0null
   copy /y %windir%\Logs\CBS\CBS.log %live%\
   findstr /c:"[SR]" %live%\CBS.log>%live%\sfcdetails.txt
   IF NOT EXIST "%live%"\sfcdetails.txt (
                               echo При сохранении отчета произошла ошибка,прикрепите файл "%live%"\CBS.log
                               echo или %windir%\Logs\CBS\CBS.log
                               echo.
                               echo Для продолжения нажмите клавишу ENTER
                               echo.
                               pause>nul) else (echo Лог сохранен в "%live%"
                               echo.
                               del /F /Q %live%\CBS.log
                               echo Для продолжения нажмите клавишу ENTER
                               pause>nul
                            
                                start "%live%")
                                 GoTo exite
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::                                
                                
:XP
echo Версия Вашей операционной системы: %VERSION%
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\WIN51 set CDROM=%%i:
if not exist %cdrom%\win51.* (
echo.
  echo.
   echo.
    echo Вам необходимо вставить диск с вашей копией Windows XP
     echo либо смонтировать образ диска в виртуальный привод.& goto cdopen
       ) else (goto koz)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::    
    
:cdopen
  set m.msg=^
  ДА - Диск с Windows вставлен (или образ смонтирован)^&^
  НЕТ - Выход из программы (ни диска ни образа нет)
  cmd /U /C echo Wscript.Echo Msgbox^(replace^(Wscript.Arguments^(0^),"&",vbLF^),67,"Проверка диска"^)>"msgbox.vbs"
  for /f %%a in ('cscript "msgbox.vbs" "%m.msg%"^& del "msgbox.vbs"') do set err=%%a
  if "%err%"=="2"  goto Exite
  if "%err%"=="6"  goto XP
  if "%err%"=="7"  goto Exite
goto Exite
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:koz
   echo.
   echo.
   echo Сохраняю резервную копию реестра...
   reg export "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" %systemdrive%\install.reg
   echo.
   echo Устанавливаю значения реестра...
   echo.
   echo Дистрибутив обнаружен...
   reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v ServicePackSourcePath /t reg_sz /d %cdrom%\ /f
   reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v "Installation Sources" /t reg_sz /d %cdrom%\ /f
   reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v SourcePath /t reg_sz /d %cdrom%\ /f
   sfc/scannow
   reg import %systemdrive%\install.reg
   del /q %systemdrive%\install.reg
   echo.
   echo.
   ping -n 5 127.0.0.1 > NUL
   cls
   echo Проверка целостности системных файлов начата.
   echo Дождитесь окончания проверки.
   ping -n 15 127.0.0.1 > NUL
   goto Exite
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  
  
:Exite
cls
  Echo ====== Работа скрипта завершена ======
  Echo.
  Echo.
  Echo Скрипт подгтовлен Koza Nozdri
  Echo Сайт: SafeZone.cc
  Echo E-mail: 
Fire@safezone.cc
  Echo.
  Echo======================================================================
  Echo Бесплатное лечение компьютерных вирусов и решение проблем в работе ПК
    ping -n 15 127.0.0.1 > NUL 
  Exit
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:UNKNOWN
cls
Echo =====  ERROR!  =====
Echo Данный скрипт не предназначен для Вашей операционной системы,
Echo воспользуйтесь соответствующим версии Вашей операционной системs сценарием
Echo или обратитесь за помощью на форум: SafeZone.cc
ping -n 10 127.0.0.1 > NUL 
Exit