使用任务计划程序自动执行任务

简介: 作者 Ed Bott、Carl Siechert 和 Craig Stinson (选自《Windows Vista Inside Out》© 2007 Microsoft Corporation。

作者 Ed Bott、Carl Siechert 和 Craig Stinson
(选自《Windows Vista Inside Out》© 2007 Microsoft Corporation。 要了解此书的更多内容,请访问 Microsoft Learning 网站。)


《Windows Vista Inside Out》封面的照片

也许在您看来,最重要的自动化工具就是 任务计划程序。而在 Windows Vista 操作系统上,任务计划程序无论是在功能上,还是在易用性上,都比 Windows XP 有了显著的提高。 本专栏将向您介绍,如何使用任务计划程序来设置通过事件或您指定的计划来触发自动化例程。 您无需拥有高明的编程技术,也可以使用任务计划程序。 接下来的部分将包括以下内容: 使用 Windows Vista 任务计划程序、创建任务、设置任务触发器以及设置任务操作。

使用 Windows Vista 任务计划程序

如果在 Windows XP 中使用过计划任务,那么您会欣喜地看到 Windows Vista 在此方面所做的改进。 首先,任务计划程序的用户界面以 Microsoft 管理控制台 (MMC) 管理单元 的形式来实现,使用户可以访问有关任务的属性、状态和运行历史记录(以及操作系统和您的程序所建立的内容)等方面的更多信息。 有关 MMC 的详细信息,请参阅什么是 Microsoft 管理控制台 (MMC)?

其次,“计划任务”管理单元通过合理的组织布局集成到了“事件查看器”管理单元中,这样更便于使用事件(例如,出现应用程序崩溃或发生“磁盘空间已满”错误)作为任务触发器。 有关“事件查看器”管理单元的详细信息,请参阅打开事件查看器

接下来,是最重要的一点,Windows Vista 任务计划程序所支持的触发和计划选项要广泛得多。 现在,除了在指定时间运行程序或脚本之外,还可以在计算机处于空闲状态一定时间、特定用户登陆或注销等情况下启动相应操作。 您可以使用这些(和其他)触发器发送电子邮件消息或显示消息窗口,还可以运行程序或脚本。

  要启动任务计划程序管理单元,请单击“开始”按钮 “开始”按钮的图片,单击“控制面板”,然后单击“系统和维护”。 在“管理工具”下,单击“计划任务”安全防护图标的图片 如果系统提示您输入管理员密码或进行确认,请键入密码或进行确认。  

如果“开始”菜单中有“管理工具”文件夹,可在其中找到“任务计划程序”。 或者,在键盘上按一下 Windows 徽标键 + R,然后在“运行”对话框中键入 taskschd.msc。 不过,发出这个命令后,需要回答“用户帐户控制”(UAC) 对话框中的提示,然后系统才会显示“任务计划程序”管理单元。

下图显示了默认布局状态的“任务计划程序”。 如您所见,该窗口垂直分为三个窗格 — 左侧的控制台树、右侧的“操作”窗格以及中间包含各个信息区域的窗格。 控制台树显示您当前所操作的计算机(本地计算机或连接的网络计算机),并提供包含当前已定义任务的文件夹树。 您可在此处创建自己的文件夹来组织您自己创建的任务,也可以在现有的文件夹中添加新任务。

“操作”窗格通过菜单形式列出了您可以执行的操作。此处列出的操作项都会出现在该窗口顶部的相应菜单中,少有例外,因此如果感觉中心窗格有些拥挤,可以考虑隐藏“操作”窗格。 (要隐藏该窗格,请单击“查看”,单击“自定义”,然后清除“操作窗格”复选框。)

默认布局状态的“任务计划程序”屏幕快照Windows Vista 任务计划程序通过 Microsoft 管理控制台 (MMC) 管理单元来实现

起初,在中心窗格中,您将看到一条“任务计划程序概述”消息(这是静态文本;阅读完毕后,可以单击右侧的折叠箭头将其隐藏)、一段期间内(默认为最近的 24 小时)运行的所有任务的状态报告(在“任务状态”区域)以及当前启动的所有任务的摘要(在“活动任务”区域)。 “任务状态”列表中的条目有大纲控件;单击某个项目的加号可以查看其详细信息。

“任务状态”和“活动任务”区域不会自动更新。 要查看最新信息,请单击“刷新”(在中心窗格底部、“操作”窗格或“操作”菜单中均有该命令)。

如果您是第一次访问“任务计划程序”,您可能会惊讶于 Windows 以及您的程序已建立的活动任务的数量。 例如,如果使用Windows Vista 备份程序定期执行完全备份以及增量备份,您会在“活动任务”列表中发现一些与备份有关的项目。 如果您或者其他用户没有禁用自动磁盘碎片整理任务,列表中就会包含相应的项目。 如果您依靠 Windows 日历或其他程序来提醒您约会的时间或者任务的最后期限,“活动任务”列表中有可能会显示该功能。

要查看当前正在运行哪些由“任务计划程序”管理的任务,请单击“操作”窗格中的“显示所有正在运行的任务”。 (如果要在“操作”菜单中找到该命令,请确保选中控制台树的顶部节点。) 查看任务,然后单击“关闭”

如果您需要了解某个活动任务到底在做什么以及它是如何设置的,您需要在控制台树中找到该任务。 根据需要展开控制台树中的条目,然后浏览到相应的项目。 控制台树条目以可视文件夹的形式显示,每个文件夹可以包含若干子文件夹或者一个或多个任务。

在控制台树中选择某个文件夹后,“任务计划程序”的中心窗格会分成两个窗格。 上部窗格会列出所选文件夹中存储的所有任务。 同时,下部窗格会显示包含当前选中任务的选项卡属性页面。 下图显示了在控制台树中选中的 WindowsBackup 文件夹、在上部窗格中选中的 AutomaticBackup 任务以及下部窗格中的 AutomaticBackup 任务的“常规”属性。 (该图中“操作”窗格已被隐藏。)

中心窗格被分成两个窗格的任务计划程序的屏幕快照在控制台树中选择某个文件夹后,会(在上部窗格)显示一个包含该文件夹中的任务的列表,并(在下部窗格)显示列表中处于选中状态的任务的选项卡属性页面。

任务计划程序管理单元的下部窗格中显示的选项卡属性页面(如上图所示)为只读内容。 要编辑与某个任务关联的属性,可右键单击上部窗格中的任务名称,然后单击“属性”。 (也可以双击上部窗格中的任务名称。) 无论是哪种方式,都会在单独的窗口中打开一个包含可读/可写属性的对话框。

除了“历史记录”选项卡之外,下部窗格中的选项卡属性页面仅以只读形式显示“创建任务”对话框中的内容(“创建任务”对话框是一个用于创建新任务的工具)。 我们将在本专栏的后续部分对该对话框做详细探讨。 通过“历史记录”选项卡,您可以确切了解某个任务如何运行、是否运行以及何时运行。 下图显示了 AutomaticBackup 任务的“历史记录”选项卡。

任务计划程序中的“历史记录”选项卡的屏幕快照通过“历史记录”选项卡,您可以确认某个计划任务是否如期运行

如果单击“历史记录”选项卡,会嵌入显示“事件查看器”管理单元的相关部分,列出与所选任务有关的所有近期事件。 如果您运行 Evntvwr.msc,在控制台树中浏览到 Applications and Services Logs\Microsoft\Windows\TaskScheduler\Operational,然后筛选产生的事件日志,列出与所选任务相关的事件,那么上面的操作也会看到同样的列表。

注意

  •        要运行“事件查看器”管理单元 (Eventvwr.msc),请单击“开始”按钮 “开始”按钮的图片,然后在搜索框中键入事件查看器。 在“程序”下面,双击“事件查看器”安全防护图标的图片 如果系统提示您输入管理员密码或进行确认,请键入密码或进行确认。        

显然,如果需要查看此信息,在“任务计划程序”控制台中要比在“事件查看器”控制台中快得多。 如果所设置的任务没有如期触发,或者没有如期成功运行,您可以双击相应的事件条目来阅读事件日志所能提供的详细信息。

创建任务

您可以在自己的计算机上创建任务,也可以在您能访问的任何其他计算机上创建任务。 如果要管理远程计算机,但尚未连接到远程计算机,请先选择控制台树顶部的那个项目(即“任务计划程序(本地)”)。 然后,在“操作”窗格(或从“操作”菜单),单击“连接到另一台计算机”。 要开始创建新任务,请在控制台树中单击准备存放要创建任务的文件夹。 如果需要为此创建一个新文件夹,请在控制台树中右键单击新文件夹所在的父文件夹,然后单击“新建文件夹”。 为新文件夹键入一个名称,然后单击“确定”

您可以在“计划任务”管理单元中使用“创建基本任务向导”或者填写“创建任务”对话框来创建新任务。 在“操作”窗格或“操作”菜单中单击“创建基本任务”来启动向导,它适合创建涉及单个操作的由时间触发的任务。 它还适合创建在用户登录或 Windows 启动时运行的任务。 要了解更复杂的任务定义过程,您需要完成整个“创建任务”对话框。 单击(控制台树中)要显示所创建的任务的文件夹,然后(在“操作”窗格或从“操作”菜单)单击“创建任务”。 下图显示了“创建任务”对话框的“常规”选项卡。

“常规”选项卡中必须输入的内容是任务名称;其他都是选填内容。 任务创建者是您(不能更改),而且除非您有其他指定,否则任务将在您自己的安全上下文环境中运行。 如果需要任务在其他用户或组的安全上下文环境中运行,请单击“更改用户或组”,然后选择所需的选项。

“创建任务”对话框中“常规”选项卡的屏幕快照在“常规”选项卡中,为新任务键入名称,然后指定它将在哪个用户的安全上下文环境中运行

您最可能需要更改安全上下文的情况是,您要设置任务在其他计算机上运行。 如果您要运行的程序可与另一用户交互,应该在另一用户的安全上下文环境下运行这些程序。 如果在您自己的安全上下文环境下运行程序,任务将不会以交互方式运行(也就是说,用户不会看到任务)。

不论任务要在哪个用户的安全上下文环境下运行,您都可以选择不论该用户是否登录都可运行该任务。 如果选择“不管用户是否登录都要运行”,创建完任务后会提示您输入该用户的密码。 如果恰好没有该密码,可以选择“不存储密码”。 如此复选框旁边的文本所示,任务仅有权访问本地计算机资源。

设置任务触发器

任务可通过以下方式触发:

  • 制定计划时

  • 登录时

  • 启动时

  • 空闲状态

  • 发生事件时

  • 创建/修改任务时

  • 连接到用户会话时

  • 从用户会话断开连接时

  • 工作站锁定时

  • 工作站解锁时

对于一个任务,可以创建零个、一个或多个触发器。 如果没有设置任务触发器,仍可在需要时运行任务(除非您清除“创建任务”对话框“设置”选项卡中的“允许按需运行任务”复选框)。 例如,您可以通过这种方式在将新任务放入计划前对其进行测试。 如果设置了多个触发器,只要有一个触发器触发,都会运行任务。

要设置触发器,请单击“创建任务”对话框中的“触发器”选项卡,然后单击“新建”。 在“新建触发器”对话框(参见下图)中,从“开始任务”菜单中选择所需的触发器类型。

“新建触发器”对话框的屏幕快照一个任务可以有零个、一个或多个触发器 — 通过高级设置选项可以设置延迟、重复和过期参数

请注意,对话框底部的高级设置选项(参见上图)。 这些选项可以创建延迟、重复和过期参数(以及进行其他设置),在查看您或者其他用户创建的任务时,很不容易找到这些选项。 这些选项在只读状态的任务属性中不会显示。 如果通过打开“创建任务”对话框打开了可读/可写的属性内容,则需要选择触发器(在“触发器”选项卡),然后单击“编辑”才能查看或更改这些高级选项。

设置任务操作

除了任务名称(在“创建任务”对话框的“常规”选项卡中指定),唯一需要提供的任务参数就是任务要执行的操作。 要指定任务操作,请在“创建任务”对话框中,单击“操作”选项卡,单击“新建”,然后选择所需的选项。

有三类操作可以指定:

  • 启动程序

  • 发送电子邮件

  • 显示电子邮件

对于每一类操作,可以指定一项或多项操作。 如果指定了多项操作,这些操作会按顺序执行,每个新操作在上一个操作完成后开始运行。

如果选择了“启动程序”类型的操作,这个程序可以是 Windows 能够执行的任何对象 — Windows 程序、批处理程序或脚本、与程序关联的文档或快捷方式。 您可以使用“浏览”按钮指定程序,而不必输入较长的路径,在“添加参数”框中可以为可执行文件添加参数,可以为可执行文件指定起始文件夹。 如果程序需要更高的权限才能成功运行,请确保在“创建任务”对话框的“常规”选项卡中选中了“使用最高权限运行”

如果选择了“发送电子邮件”操作,“任务计划程序”需要您提供出站 (SMTP) 服务器的地址。

如果选择了“显示电子邮件”操作,所显示的对话框会提供相应字段以供输入邮件标题和正文。

目录
相关文章
|
Python
【python脚本】执行过程中触发若干次就停止执行脚本的方式
【python脚本】执行过程中触发若干次就停止执行脚本的方式
|
Windows
电脑win系统开机自动运行批处理、脚本等的方法/开机自动执行bat脚本
电脑win系统开机自动运行批处理、脚本等的方法/开机自动执行bat脚本
1066 0
|
11天前
|
数据采集 存储 监控
21个Python脚本自动执行日常任务(2)
21个Python脚本自动执行日常任务(2)
51 7
21个Python脚本自动执行日常任务(2)
|
16天前
|
存储 监控 程序员
21个Python脚本自动执行日常任务(1)
21个Python脚本自动执行日常任务(1)
11 1
|
Java Linux
如何编写一个自动关闭某个进程的脚本,并使用cron定时执行?
如何编写一个自动关闭某个进程的脚本,并使用cron定时执行?
317 0
|
Shell Linux
Shell脚本删除自动清理超过大小的文件
Shell脚本删除自动清理超过大小的文件
315 0
|
数据安全/隐私保护 Windows
【转载】解决windows服务器上定时任务执行时报0x1错误,但是手动执行顺利完成
最近修改定时任务重新部署后,定时运行后运行结果为0x1,但是手动执行后,任务可以顺利完成。 windows官网解释如下: 0x0: 操作已成功完成 0x1: 调用的函数不正确或调用了未知函数。
3346 0
|
SQL Shell Linux
如何用crontab每隔1分钟执行一个命令行脚本,shell设定时任务
如何用crontab每隔1分钟执行一个命令行脚本,shell设定时任务
883 0
如何用crontab每隔1分钟执行一个命令行脚本,shell设定时任务
|
数据安全/隐私保护
winscp自动执行脚本
我们经常使用WinSCP工具通过sftp协议上传获取文件,本文描述通过bat批量处理文件。 首先,我们打开dos命令窗口使用 cd \d :D\WinSCP 打开WinSCP安装目录 上传文件: winscp.
3196 0