如何通过CMD创建无触发器且支持AC/DC电源的任务计划程序?
如何通过CMD创建无触发器且支持AC/DC电源的任务计划程序?
我完全懂你的困扰——想建一个没有任何有效触发条件,而且不管电脑插电还是用电池都能正常运行的任务计划,结果用SCHTASKS /Create时要么缺/SC报错,加了/SC又会多出不需要的触发器,确实挺闹心的。
解决思路
首先得明确:SCHTASKS /Create命令强制要求指定计划类型(/SC参数),没法直接跳过。那我们可以用一个已过期的一次性触发器来模拟“无触发器”的效果——这个触发器永远不会触发,相当于任务没有可执行的触发条件。之后再修改任务的电源设置,取消“仅AC电源启动”的限制。
具体步骤
创建带过期一次性触发器的任务
运行这条命令,就能创建一个永远不会触发的任务:SCHTASKS /Create /TN "Test" /TR "%TEMP%\Test.cmd" /SC ONCE /ST 00:00:00 /SD 1999-01-01参数说明:
/SC ONCE:指定一次性计划类型/ST 00:00:00和/SD 1999-01-01:设置一个早已过去的时间,让这个触发器彻底失效,相当于“无触发器”
修改电源设置,允许AC/DC都能运行
默认创建的任务会自动勾选“仅当计算机使用交流电源时才启动此任务”,我们需要取消这个限制,允许电池电源下也能运行:SCHTASKS /CHANGE /TN "Test" /DC这里的
/DC参数就是告诉任务计划程序:允许任务在电池电源下启动和运行。
验证效果
打开任务计划程序找到你创建的Test任务:
- 触发器列表里会显示一个已过期的一次性触发器,不会实际触发任务
- 查看“条件”选项卡,“仅当计算机使用交流电源时才启动此任务”会是未勾选状态,同时“允许任务在电池电源下运行”已开启
额外补充(用PowerShell更简洁)
如果你能使用PowerShell,其实可以直接创建完全无触发器的任务,步骤更直观:
# 创建任务执行动作 $taskAction = New-ScheduledTaskAction -Execute "%TEMP%\Test.cmd" # 设置电源允许AC/DC运行的规则 $taskSettings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries # 注册无触发器的任务 Register-ScheduledTask -TaskName "Test" -Action $taskAction -Settings $taskSettings
备注:内容来源于stack exchange,提问作者Mr.Key7
相关产品推荐
相关产品推荐

