大多数新手计算机用户在遇到问题时都会感到难过,并且必须将计算机重新启动到安全模式,那么如何编写脚本以使其自动化呢?
答案 0 :(得分:4)
这是一个批处理脚本,可以将Windows XP,Vista或Windows 7计算机重新启动到安全模式。
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 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /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 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /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
此脚本最初由ChunkDog发布于:https://forum.ultravnc.net/viewtopic.php?f=50&t=29663
我修改了它,并添加了一个vbscript,询问用户是否要重新启动到安全模式,并根据用户输入调用批处理文件。
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
尚未在Windows 8上测试过。
答案 1 :(得分:0)
以管理员身份打开cmd,然后使用这些参数运行bsdedit " bcdedit / set {current} safeboot network"