有个有趣的问题
提供二个批次档供参考第一个是XP用,第二个是W7以上版本使用
@Echo offCLSSET RegPath="HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /F /VFOR /F "skip=4 tokens=2*" %%X in ('REG Query "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v DeskTop') do Set DeskTopPath=%%YFOR /F "skip=4 tokens=2*" %%I in ('REG Query "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Startup') do Set StartupPath=%%JIf EXIST "%StartupPath%\%~nx0" Goto :RunShutdownIF "%~dp0" NEQ "%StartupPath%\" (Echo.Echo 1.执行档案的位置:%~p0Echo 2.开机启动的位置:%StartupPath%\Echo 3.完整的档案名称:%~nx0Echo.Echo 立刻执行反覆开机测试!!!Set /P Q=确定请输入[Y],不执行请按[Enter]:)IF /I "%Q%" EQU "Y" (Copy %0 "%USERPROFILE%\「开始」功能表\程式集\启动\"pauseIF /I "%ERRORLEVEL%" EQU "1" (Echo 档案建立失败,请手动建立!!!PauseExit))IF /I "%Q%" EQU "" Exit:MenInfoClsEcho.Echo 请输入WINDOWS 登入资讯,若未输入需要自行登入后才会执行重开机任务。Echo 若您无需输入密码即可登入桌面,请直接按[ENTER]Echo 目前登入的帐号为:%USERNAME%Echo.Set /P PW=请输入密码:Echo.Echo 您的帐号是:%USERNAME%Echo 您的密码是:%PW%Echo.Echo 密码是否正确,正确请按[ENTER],错误请输入[N]...Set /P As=输入:IF /I "%As%" EQU "N" Goto MenInfoIF "%PW%" EQU "" GOTO RunShutdownReg ADD %RegPath% DefaultUserName /t REG_SZ /d %USERNAME%Reg ADD %RegPath% AutoAdminLogon /t REG_SZ /d 1Reg ADD %RegPath% DefaultPassword /t REG_SZ /d %PW%:RunShutdownIF NOT EXIST "%DeskTopPath%\Del%~nx0" (Echo @Echo OFF > "%DeskTopPath%\Del%~nx0"Echo Cls >> "%DeskTopPath%\Del%~nx0"Echo Echo. >> "%DeskTopPath%\Del%~nx0"Echo Del "%StartupPath%\%~nx0" >> "%DeskTopPath%\Del%~nx0"Echo Echo 是否要删除自动登入的机码?要删除请输入[Y]保留请按[ENTER] >> "%DeskTopPath%\Del%~nx0"Echo Set /P QA=请输入: >> "%DeskTopPath%\Del%~nx0"Echo If "%%QA%%" EQU "Y" ^( >> "%DeskTopPath%\Del%~nx0"Echo Reg Delete %RegPath% DefaultUserName >> "%DeskTopPath%\Del%~nx0"Echo Reg Delete %RegPath% AutoAdminLogon >> "%DeskTopPath%\Del%~nx0"Echo Reg Delete %RegPath% DefaultPassword >> "%DeskTopPath%\Del%~nx0"Echo ^) >> "%DeskTopPath%\Del%~nx0"Echo Del ^%%0 >> "%DeskTopPath%\Del%~nx0")Echo.shutdown -r -f -t 25 -c " 这是由鼎尔资讯所执行的开机测试,若要中断请在[开始->执行]输入Shutdown -a,若要停止测试请执行桌面上的Del%~nx0。"REM 资尔资讯 製作:100.04.01
第一个是XP时代产物,过时的产物就不做说明了,有需要请自行研究。
@Echo OffMode con cols=70 lines=15Title [开机测试] 由鼎尔资讯提供SetLocal ENABLEDELAYEDEXPANSIONSet Loop=0Set RunCount=50Set WaitReboot=5Set WaitSelect=120SET RegPath="HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /f /vCall :ReadValueIf Defined Flag Goto :DisPlay:StartClsEcho.&Echo.&Echo.Echo. =======自动反覆重开机测试=======Echo. 指定的测试次数为: %RunCount% 次。Echo. 指定等待重开机的时间为: %WaitReboot% 秒。Echo.Echo.*除非你知道如何结束,否则等待时间请勿指定为 0 秒Echo.*若你的电脑需要密码才能登入请先修改为Echo. 自动登入,若未修改则需要手动输入密码Echo. 进入桌后才能继续。Echo.Echo. 你想要执行什么动作?Echo.若 %WaitSelect% 秒未做出选择将会退出!Echo.Choice /D N /T %WaitSelect% /C YNRTAD /M "开始测试(Y) 离开(N) 测试次数(R) 等待时间(T) 自动登入(A) 停用登入(D)→"If %ErrorLevel% EQU 1 (Call :ReadValueReg Add HKCU\Software\Microsoft\Windows\CurrentVersion\AutoReboot /f /v Flag /d 1 >NulCall :RunGoto :Reboot)Call :%ErrorLevel% Start:DisPlayClsEcho.&Echo.&Echo.Echo. =======自动反覆重开机测试=======Echo.别担心目前电脑正在执行测试中,你看到的重开机是预期中的行为Echo. 测试次数: %RunCount% 次Echo. 已进行 %Loop% 次重开机。Echo. 等待时间: %WaitReboot% 秒,%WaitReboot% 秒后进行重开机。Echo. Choice /D I /T %WaitReboot% /C ISRT /M "立即重开(I) 终止测试(S) 测试次数(R) 等待时间(T)→"If %ErrorLevel% EQU 1 ( Call :ReadValue Call :Run Goto :Reboot)Call :%ErrorLevel% DisPlay:CheckNumClsEcho !%1!|Findstr [^^0-9]&&( Echo. ------------!发生错误!------------ Echo. %1 变数发生错误! Echo. 只能是数值资料,已重设为:1 Echo. ------------!发生错误!------------ Set %1=1 TimeOut /t 5)Exit /b:0:RebootShutDown -f -r -t 0Exit:2Goto :RegClear:3Set /P RunCount=请输入测试的次数:Call :CheckNum RunCountReg Add HKCU\Software\Microsoft\Windows\CurrentVersion\AutoReboot\ /v RunCount /f /d "!RunCount!"Goto :%1:4Set /P WaitReboot=请输入重开机前的等待秒数:Call :CheckNum WaitRebootReg Add HKCU\Software\Microsoft\Windows\CurrentVersion\AutoReboot\ /v WaitReboot /f /d "!WaitReboot!"Goto :%1:5ClsEcho.&Echo.Echo 若您无需输入密码即可登入桌面,请直接按[ENTER]Echo 请输入WINDOWS 登入资讯,若未输入或输入错误将需要自行登入后Echo 才会执行重开机任务。Echo 目前登入的帐号为:%USERNAME%Echo.Set /P PW=请输入密码:Echo.Echo 您的帐号是:"%USERNAME%"Echo 您的密码是:"%PW%"Echo.Echo. 若密码不正确将无法自动登入系统!!!Echo 密码是否正确,正确请按[ENTER],错误请输入[N]...Set /P As=输入:IF /I "%As%" EQU "N" Goto :5IF "%PW%" EQU "" GOTO :StartReg ADD %RegPath% DefaultUserName /t REG_SZ /d %USERNAME%||Goto AdminReg ADD %RegPath% AutoAdminLogon /t REG_SZ /d 1||Goto AdminReg ADD %RegPath% DefaultPassword /t REG_SZ /d %PW%||Goto AdminGoto :%1:6Reg Delete %RegPath% DefaultUserName||Goto AdminReg Delete %RegPath% AutoAdminLogon||Goto AdminReg Delete %RegPath% DefaultPassword||Goto AdminEcho 自动登入相关资讯已删除!PauseGoto :%1:ReadValueFor /f "Tokens=1,3 Skip=2" %%i In ('Reg Query HKCU\Software\Microsoft\Windows\CurrentVersion\AutoReboot\') Do ( Set %%i=%%j Call :CheckNum %%i)If !Loop! GEQ !RunCount! Goto :RegClearExit /b:RunSet /A Loop=!Loop!+1Set /A TCount=!TCount!+1Reg Add HKCU\Software\Microsoft\Windows\CurrentVersion\AutoReboot\ /v Loop /f /d !Loop!Reg Add HKCU\Software\Microsoft\Windows\CurrentVersion\AutoReboot\ /v RunCount /f /d "!RunCount!"Reg Add HKCU\Software\Microsoft\Windows\CurrentVersion\AutoReboot\ /v WaitReboot /f /d "!WaitReboot!"Reg Add HKCU\Software\Microsoft\Windows\CurrentVersion\AutoReboot /f /v TCount /d "!TCount!"Reg Add HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce\ /f /v TestBoot /d "%~f0"Exit /b:RegClearReg Delete HKCU\Software\Microsoft\Windows\CurrentVersion\AutoReboot /fReg Delete HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce\ /f /v TestBootClsEcho.&Echo.&Echo.Echo. ------------自动反覆重开机测试------------Echo.1.重开机测试已结束!Echo. 2.测试次数: %RunCount% 次Echo. 3.已进行 %Loop% 次重开机。Echo.4.累计重开机次数: !TCount!Echo.5.结束执行时间: %Date% %Time%Echo.Echo.是否要将自动登入相关资讯清除?Echo.60 秒未进行选择将会保留登入。Choice /D N /T 3 /C YN /M "是(Y) 否(N)→"If %ErrorLevel% EQU 1 Call :6 EOFPauseExit:AdminMd "%SystemRoot%\MdTest" 2>nul&&( Rd "%SystemRoot%\MdTest" Echo. Echo. 提示讯息: Echo. 删除机码时发生错误!可能是该机码已不存在 Pause Goto :%1)||( Echo. Echo. !!提示!! Echo 这个操作需要以系统管理者身份进行, Echo 请对着档案以右键点选"以系统管理者"重新操作一次 Choice /C X /M "请按(X)键关闭→")Exit::Author:资尔资讯(Dreamer) DATE:108.07.21
说明:
这是用来执行 ReBoot 的一支批次档,主要用来执行不断的重开机,并且可以指定重开的次数及等待多久才进行重开机.
也可以在没有跑完的指定的次数下暂停执行,已执行的次数会被保留下来,再次执行时会接着执行剩余的次数。
功能:
Y.以预设值进行反複地重开机
N.不进行测试并删除登录档资料
R.修改要执行的次数
T.修改要等待的时间
A.将系统改为自动登入
D.停用自动登入
I.忽略等待的时间直接重新开机
S.终止测试并删除登录档资讯
直接关闭视窗可暂停测试
其它资讯:
在等待重开机期间可以进行执行次数及等待时间的修改,在等待的期间会显示将执行的次数及己执行次数,结束后会显示执行次数及结束的时间并且询问是否要将自动登入修改回原样(需要重新执行)。