You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何合并VBS脚本定时执行关机取消命令或让调度脚本生效?

调度取消关机VBS脚本的解决方案

一、修复现有调度脚本的生效问题

你的调度命令失效大概率是因为脚本路径含空格却未加引号,加上权限问题,按以下步骤修正:

  • 修正后的调度命令(必须用管理员身份执行):
schtasks /create /tn "Shutdown Script" /tr "C:\Users\102117\Desktop\shutdown script\shutdown cancel script.vbs" /sc daily /st 18:21 /ed 2100/01/01 /f

核心改动:给/tr后的脚本路径加上双引号,避免空格导致路径识别错误;/f参数用来覆盖已存在的同名任务,避免重复创建报错。

  • 验证任务:打开「任务计划程序」→「任务计划程序库」,找到Shutdown Script,检查触发时间和操作路径是否正确。
  • 优化取消关机脚本:原脚本模拟cmd输入容易因窗口激活失败失效,换成静默执行更可靠:
Set WshShell = CreateObject("Wscript.Shell")
WshShell.Run "shutdown -a", 0, True ' 0=后台静默执行,True=等待命令完成
WScript.Quit(0)

二、合并两个脚本为一个

可以把「创建调度任务」和「执行取消关机」的逻辑整合到一个VBS里,运行一次即可完成任务创建,且脚本本身就是定时执行的目标程序:

' 执行取消关机命令(静默模式)
Set WshShell = CreateObject("Wscript.Shell")
WshShell.Run "shutdown -a", 0, True

' 创建每日18:21执行自身的调度任务(仅需运行一次,之后可注释/删除这段)
Dim taskCmd
taskCmd = "schtasks /create /tn ""Shutdown Script"" /tr """ & WScript.ScriptFullName & """ /sc daily /st 18:21 /ed 2100/01/01 /f"
WshShell.Run taskCmd, 0, True

WScript.Quit(0)
  • 使用说明:以管理员身份运行一次该脚本,既会立即执行取消关机,又会创建好定时任务。之后每天18:21,任务计划程序会自动运行这个脚本执行shutdown -a。
  • 可选操作:如果只需要创建一次任务,后续不想每次运行都触发任务创建,可把创建任务的代码注释掉(加'前缀)或直接删除。

关键注意事项

  • 权限:创建任务和执行shutdown -a都需要管理员权限,务必以管理员身份运行脚本,或在任务计划程序中给任务设置「使用最高权限运行」。
  • 命令生效条件:shutdown -a仅当系统存在待执行的关机任务时才会生效,无关机任务时不会有任何提示(静默执行模式下)。

内容的提问来源于stack exchange,提问作者Kevin Tran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 04:05:27