Echo Off
REM Check Windows Version
ver | findstr /i "5.0." > nul
IF %ERRORLEVEL% EQU 0 goto ver_nt5x
ver | findstr /i "5.1." > nul
IF %ERRORLEVEL% EQU 0 goto ver_nt5x
ver | findstr /i "5.2." > nul
IF %ERRORLEVEL% EQU 0 goto ver_nt5x
ver | findstr /i "6.0." > nul
IF %ERRORLEVEL% EQU 0 goto ver_nt6x
ver | findstr /i "6.1." > nul
IF %ERRORLEVEL% EQU 0 goto ver_nt6x
goto warn_and_exit
:ver_nt5x
:Run Windows 2000/XP specific commands here
bootcfg /raw /a /safeboot:network /id 1
REG ADD HKLMSOFTWAREMicrosoftWindowsCurrentVersionRunOnce /v "*UndoSB" /t REG_SZ /d "bootcfg /raw /fastdetect /id 1"
SHUTDOWN -r -f -t 07
goto end
:ver_nt6x
:Run Windows Vista/7 specific commands here
bcdedit /set {current} safeboot network
REG ADD HKLMSOFTWAREMicrosoftWindowsCurrentVersionRunOnce /v "*UndoSB" /t REG_SZ /d "bcdedit /deletevalue {current} safeboot"
SHUTDOWN -r -f -t 07
goto end
Echo On
:warn_and_exit
echo Machine OS cannot be determined.
:end
Dim oShell, returnCode
Set objShell = CreateObject("Shell.Application")
Set oShell = WScript.CreateObject("WScript.Shell")
returnCode = oShell.Popup("Do you want to restart your computer in Safe Mode", 0, "Restart In Safe Mode", 4 + 48 + 256)
Select Case returnCode
case 6, -1
objShell.ShellExecute "tryout.bat", "", "", "runas", 0
case 7
oShell.popup "Operation Canceled", 0, "Restart In Safe Mode", 0 + 64 + 0
End Select