如何通过命令行启动Windows计划任务程序?

77

我是指从命令行打开内置的Windows图形用户界面,而不是通过Schtasks启动


16
也许应该将这个问题转移到Superuser.com,而不是关闭它?这是一个有用的问题,有有效的答案。 - Hanxue
需要移动到超级用户。 - TheSoftwareJedi
又一个有用的问题和好答案被关闭了。 :( - Mark Allen
10个回答

73

taskschd.msc 可用于 Windows Vista 及更高版本。

http://technet.microsoft.com/en-us/library/cc721871.aspx

我记得在 Vista 之前曾经看到过一个类似于你所说的任务计划程序 GUI,但也许那时我想的是“添加计划任务”向导。

你可能需要使用以下命令打开预定的任务浏览器:

control schedtasks

很不幸,我在命令行中找不到任何启动“添加计划任务”向导的方法(一定要有方法!)


同样适用于Win 7。 - Joel Peltonen
1
@Nenotlep,Win 8.1也可以。 - Pacerier
@Andy,对于Vista之前的系统,难道没有运行mmc并将任务计划程序作为输入的方法吗? - Pacerier
也适用于Windows Server 2016,所以我猜也适用于大多数之前和未来的版本 :-) - Dude

44

我正在服务器上使用Windows 2003。我正在使用"SCHTASKS.EXE"进行操作。

    SCHTASKS /parameter [arguments]

    Description:
        Enables an administrator to create, delete, query, change, run and
        end scheduled tasks on a local or remote system. Replaces AT.exe.

    Parameter List:
        /Create         Creates a new scheduled task.

        /Delete         Deletes the scheduled task(s).

        /Query          Displays all scheduled tasks.

        /Change         Changes the properties of scheduled task.

        /Run            Runs the scheduled task immediately.

        /End            Stops the currently running scheduled task.

        /?              Displays this help message.

    Examples:
        SCHTASKS
        SCHTASKS /?
        SCHTASKS /Run /?
        SCHTASKS /End /?
        SCHTASKS /Create /?
        SCHTASKS /Delete /?
        SCHTASKS /Query  /?
        SCHTASKS /Change /?

    ┌─────────────────────────────────────┐
    │ Executed Wed 02/29/2012 10:48:36.65 │
    └─────────────────────────────────────┘

这非常有趣,让我感到很强大。 :)


7
+1 表示赞同,这句话的意思是“这很有趣,让我感到非常有力量。” - Peter Schuetze
2
很棒的答案。请再提供一个微软的链接。 http://technet.microsoft.com/en-us/library/cc725744.aspx#BKMK_create - temple

25

这将启动计划任务MMC控制面板:

%SystemRoot%\system32\taskschd.msc /s

旧版Windows会在MMC控制面板中显示一个启动画面,而/s开关可以抑制它。这不是必需的,但也不会有什么影响。


1
你确定吗?我找不到它。我正在使用Win XP SP2。 - Helarld
1
“/s”开关是用来做什么的?即使没有它也能工作。 - orad
1
MMC曾经有一个启动画面,/s开关可以抑制它。哇,这些答案让我感觉很老了。我已经更新了答案。 - TheSoftwareJedi
这里的大多数人都在寻找运行命令版本的调度程序,但是考虑到问题要求运行GUI的命令,这就是正确的答案。 - orad
@TheSoftwareJedi,似乎在Vista之前的版本上无法工作...... - Pacerier
@Pacerier 如果你找到解决方案,请更新答案 :) 我没有古老的图像来测试。 - TheSoftwareJedi

8

是的,XP系统中有GUI界面。我可以使用以下命令打开已安排任务列表(但无法打开GUI界面),

control.exe  schedtasks

接下来,您可以使用向导添加新的定期任务。

在XP中,您可以通过Windows帮助找到计划程序GUI,如果您搜索“定期任务”,然后单击“逐步说明”,并打开计划程序GUI。单击最后一个链接将执行以下命令,该命令可能可以被翻译为从命令行打开计划程序GUI。有人知道怎么做吗?

ms-its:C:\WINDOWS\Help\mstask.chm::/EXEC=,control.exe, schedtasks CHM=ntshared.chm FILE=alt_url_windows_component.htm

7

这里是我刚使用的一个示例:

at 8am /EVERY:M,T,W,Th,F,S,Su cmd /c c:\myapp.exe

结果如下:
Added a new job with job ID = 1

然后,为了检查我的工作:
at

6

你可以创建一个新的快捷方式:

control schedtasks

将其命名为“tsks.lnk”,并将其保存在c:\windows\system32中。

现在您可以按下Windows键+R,然后输入“tsks”并按Enter,完成。此时无需使用鼠标。
或在Windows Vista / 7/2008中,只需按下Windows键,然后输入“tsks”并按Enter即可。


6
你可能想要查看简单的命令行调度程序“at”:
C:\Documents and Settings\mahendra.patil>at/?

AT命令可以在指定的时间和日期安排计算机运行命令和程序。要使用AT命令,必须运行计划任务服务。

AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]]
AT [\\computername] time [/INTERACTIVE]
    [ /EVERY:date[,...] | /NEXT:date[,...]] "command"

\computername 指定远程计算机。如果省略此参数,则在本地计算机上安排命令。

id 是分配给计划命令的标识号码。

/delete 取消计划的命令。如果省略 id,则取消计算机上所有计划的命令。

/yes 在不需要进一步确认时与取消所有作业命令一起使用。

time 指定命令运行的时间。

/interactive 允许作业与在作业运行时登录的用户桌面交互。

/every:date[,...] 在每个指定的星期几或月份的指定日期运行命令。如果省略日期,则假定为当月的当前日期。

/next:date[,...] 在下一个出现的日期(例如,下周四)上运行指定的命令。如果省略日期,则假定为当月的当前日期。

"command" 是要运行的 Windows NT 命令或批处理程序。


1
我意识到这个答案可以追溯到2008年,所以当时可能是有效的。如果你现在在最新版本的Windows中运行at命令,你会收到这个错误信息:"AT命令已被弃用,请使用schtasks.exe代替"。 - Adam Plocher

4

你可以使用 TASKSCHD.MSCCONTROL SCHEDTASKS

这里 有一些类似的命令。


2
我也在运行XP SP2,这个命令(从命令行中执行)完美地运行:
start control schedtasks

注意:这正是您要求的内容:“从命令行打开内置的Windows GUI”。 - RodneyL

-3

如果你问的是我所想的,你可以通过执行以下命令来打开它:

explorer.exe "C:\WINDOWS\Tasks\"

不要忘记 "C:\Windows\System32\Tasks"。你的答案只给出了作业的子集。 - deutschZuid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接