.vbs停止.bat运行超过一定时间

时间:2014-03-09 03:38:33

标签: time vbscript

我有一个计划任务在我的服务器上运行,让其他两台台式机在凌晨2点睡着了。

我还有一个.bat文件,计划在凌晨1点40分在我的所有系统上运行,让我知道即将发生的关机操作,并让我选择取消,立即待机或关闭窗口并允许它继续。除Win7笔记本电脑外,所有系统均可正常使用。

尽管我的任务设置不能超过预定的时间,但如果我打开笔记本电脑并在凌晨2点之后随时从待机状态恢复,该文件仍会运行。

我想通过安排.vbs来启动.bat来尝试创建一种解决方法。沿着:

if Hour(Time) > 1 Then
wscript.quit
else if Hour(Time) = 1 Then
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "cancel-confirm-autostandby.bat C:\WINDOWS\system32\cmd.exe", 1
end if
wscript.quit

但.bat文件无论如何运行,甚至现在凌晨3点进行测试。如果我试试;

msgbox Hour(Time)

它返回值3,所以我不明白这种行为。 3是>比1 ...

我已经尝试将截止时间(凌晨2点)分配给可变的小时(现在)&小时(日期)。

欢迎任何建议,感谢您阅读......

1 个答案:

答案 0 :(得分:0)

似乎已经得到了

if Hour(Time) > 1 Then
wscript.quit
else if Hour(Time) = 1 Then
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "cancel-confirm-autostandby.bat C:\WINDOWS\system32\cmd.exe", 1
end if
wscript.quit
End if

不知道为什么它不适用于最后一个“End if”,但你去了......