vbs实现定时自动关机及源码

pop:其实实现自动关机的核心就是shutdown的命令,at 21:00 shutdown -s 就是在21:00自动关机,会有30秒的提示;要是没有提示直接关机就是:at 21:00 shutdown -s -t 0 (注意:要开启“计划任务”的服务。)

将下面的代码保存为 *.vbs 后缀的文件,如shutdown.vbs

在输入时间或者秒数之后自动关机,代码如下:

Dim mytime,myout1,myout2
mytime=null
mytime=InputBox("请输入定时时间(格式23:10:00)"&vblf&"如果想倒计时关机,请输入倒计时时间"&vblf&"(单位/分钟)"&vblf&"输入“pop”可以马上关机"&vblf&"退出点“取消”","定时关机","23:10:00")
Set wshshell=wscript.createobject("wscript.shell")
If IsNumeric(mytime)=False Then
If IsDate(mytime)=True Then
wshshell.run "at "&mytime&" shutdown -s -t 0" '定时关机在任务列表中
myout1=MsgBox("定时成功!电脑将在"&mytime&"关机!放弃关机请点“取消”!",vbokcancel,"定时关机")
If myout1=vbcancel Then
wshshell.run "at /delete /y"
MsgBox "关机已取消!",64,"定时关机"
End If
Else
If mytime="pop" Then
wshshell.run "shutdown -s -t 0"
End If
MsgBox "输入错误!请重新输入!",64,"定时关机"
End If
Else
If mytime>600 or mytime<=0 Then
MsgBox "输入错误!倒计时不能多于10小时(600分钟)!",64,"定时关机"
wscript.quit
End If
wshshell.run "shutdown -s -t "&mytime*60
myout2=MsgBox("设置成功!电脑将在"&mytime&"分钟后关机!放弃关机请点“取消”!",vbokcancel,"定时关机")
If myout2=vbcancel Then
wshshell.run "shutdown -a"
MsgBox "关机已取消!",64,"定时关机"
End If
End If

这个比较简单,就是实现倒计时关机的VBS脚本代码:

set diaolei=createobject("wscript.shell")
dim shijian,guanji,hua
shijian=time
hua=inputbox("请输入你要用什么单位关机 1 代表分钟 2 代表小时 3 代表天")
if hua=1 then
guanji=inputbox("请输入你要几分钟后关机")
if datediff("m",shijian,time)>=guanji then
diaolei.run "rundll32.exe user.exe,exitwindows"
diaolei.run "shutdown -s -t 0"
elseif hua=2 then
guanji=inputbox("请输入你要几小时后关机")
if datediff("h",shijian,time)>=guanji then
diaolei.run "rundll32.exe user.exe,exitwindows"
diaolei.run "shutdown -s -t 0"
elseif hua=3 then
guanji=inputbox("请输入你要几天后关机")
if datediff("d",shijian,time)>=guanji then
diaolei.run "rundll32.exe user.exe,exitwindows"
diaolei.run "shutdown -s -t 0"
endif

Related Posts