@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