15 windows scheduled-tasks command-line
在 Linux 上有cron job 和at job。有没有办法从 Windows 上的命令行安排作业?
该任务计划程序GUI是不是我追求的。我必须修改脚本以在特定条件下安排事件......所以必须有一种方法可以从命令行调用它。
spl*_*tne 15
使用schtasks命令。它有比at命令更多的选项,还有一些不错的选项,比如/mo LASTDAY本月的最后一天:
schtasks安排命令和程序定期或在特定时间运行。从计划中添加和删除任务,按需启动和停止任务,以及显示和更改计划任务。
句法:
schtasks /create /tn TaskName /tr TaskRun /sc schedule [/mo 修饰符]
[/d day] [/m month[,month...] [/i IdleTime] [/st StartTime]
[/sd StartDate] [/ed EndDate] [/s 计算机 [/u
[域\]用户 /p 密码]]
[/ru {[域\]用户 | "系统"} [/rp 密码]] /?
Joh*_*n T 13
Windows 也有一个“在职”。虽然语法有点不同。
C:\Documents and Settings\Administrator>at /?
AT 命令调度命令和程序在计算机上运行
指定的时间和日期。Schedule 服务必须正在运行才能使用
AT 命令。
AT [\\计算机名] [ [id] [/DELETE] | /删除[/是]]
在 [\\计算机名] 时间 [/INTERACTIVE]
[ /EVERY:date[,...] | /NEXT:date[,...]] "命令"
\\computername 指定远程计算机。命令被安排在
如果省略此参数,则为本地计算机。
id 是分配给预定的标识号
命令。
/delete 取消预定的命令。如果省略 id,则所有
计算机上的预定命令被取消。
/yes 与取消所有作业命令一起使用
需要确认。
time 指定命令运行的时间。
/interactive 允许作业与用户的桌面交互
谁在作业运行时登录。
/every:date[,...] 在一周的每个指定日期运行命令或
月。如果省略日期,则为当月的当前日期
假设。
/next:date[,...] 在下一次出现时运行指定的命令
天(例如,下周四)。如果省略日期,则
假定为当月的当前日期。
“命令”是 Windows NT 命令,或要运行的批处理程序。
例子:
at 9:00 /interactive notepad.exe
Run Code Online (Sandbox Code Playgroud)
这将导致记事本在早上 9:00 以交互方式为用户打开。