从Windows命令行计划作业?


Answers:


13

Windows也有一个“工作”。尽管语法有些不同。

C:\ Documents and Settings \ Administrator>在/?
AT命令计划命令和程序在计算机上运行
指定的时间和日期。Schedule服务必须正在运行才能使用
AT命令。

AT [\\计算机名] [[id] [/删除] | /删除[/是]
在[\\计算机名]时间[/互动]
    [/ EVERY:date [,...] | / NEXT:date [,...]]“命令”

\\ computername指定远程计算机。命令在
                   如果省略此参数,则为本地计算机。
id是分配给计划的标识号
                   命令。
/ delete取消预定的命令。如果省略id,则所有
                   计算机上的预定命令被取消。
/ yes与取消所有作业命令一起使用
                   需要确认。
time指定命令运行的时间。
/ interactive允许作业与用户的桌面进行交互
                   运行作业时登录的用户。
/ every:date [,...]在一周的每个指定日期运行命令,或者
                   月。如果省略日期,则表示该月的当前日期
                   假设。
/ next:date [,...]在下次出现时运行指定的命令
                   一天(例如,下周四)。如果省略日期,则
                   假定为当月的当前日期。
“命令”是要运行的Windows NT命令或批处理程序。

例:

at 9:00 /interactive notepad.exe

这将导致记事本在上午9:00以交互方式为用户打开。


3
我们发言时不赞成使用“ at”。“ schtasks”是现在要走的路。也许您可以更改正确答案。
Marius 2015年

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 {[Domain \] User | “系统”} [/ rp密码]] /?

1

编写Windows Shell脚本以使用睡眠程序进行延迟:

@echo off

:loop
someprogram args
sleep 900
if somecondition goto loop

在自己的外壳窗口中运行它。使用此脚本将cmd.exe配置为在加电时运行。sleep睡了几秒钟:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <Windows.h>

int main(int argc, char* argv[])
{
    int n = atoi(argv[1]);

    Sleep(n * 1000);

    return 0;
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.