由于工作原因,需要在Windows XP批量添加、设置一次性计划任务。按照正常的思路是先打开控制面板,依次点击“性能和维护”→“任务计划”,再双击“添加任务计划”一个个地进行制定。不过,由于数量实在繁多,因此只好打消此念头,而打算通过命令行批量添加任务计划。在Windows XP的帮助文件,查阅一下,一次性计划任务的命令行格式为:schtasks /create /tn TaskName /tr TaskRun /sc once /st StartTime /sd StartDate [/s computer [/u [domain]user /p password]] [/ru {[Domain]User | "System"} [/rp Password]](schtasks /create /tn 计划任务名称 /tr 程序 /sc once /st 开始时间 /sd 开始日期 [/s computer [/u [域]用户名 /p 密码]] [/ru {[域]用户名 | "System"} [/rp 密码]],图1)。
按照说明,结合实际,先尝试写了一个范例:schtasks /create /tn “1F” /tr D:ok.js /sc once /st 00:10:00 /sd 2006/04/08 /ru ZLSzls /rp 987412365。分析一下,批量添加计划任务,其中发生变化的分别是计划任务名称、开始时间两个参数。其中前者可以为任意名称,后者根据实际需要,可以设置为间隔一(段)定时间,看来结合Excel与Word可以迅速编写出批量添加计划任务的命令行文本。
第一步:先新建一Exce文档,在B1单元格中输入:”1F”,再把光标置于B1单元格右下角,待其变为自动填充柄时,向下拖拉生成多个计划任务的名称(数量等于实际的计划任务数),比如要生成100个计划任务名,则拖拉至”100F”(图2);
第二步:右击D列单元格,选择“设置单元格格式”,在弹出的窗口中切换到“数字”选项卡,并在“分类”中选择“自定义”,在“类型”中填写:hh:mm:ss(因为命令行中添加计划任务的开始时间格式为:hh:mm:ss,故如此设置,如图3,以下的日期设置也同理),确定后退出。然后在D1、D2单元格中分别设置任务开始时间:00:10:00、00:16:00(这里假设第1个任务在00:10:00开始运行、第2个任务在00:16:00开始运行),选中D1、D2单元格并把鼠标置于D2单元格右下角,待其变为自动填充柄时,拖动鼠标至上一步的计划任务名称的并列最后一行为止;
第三步:右击F列单元格,选择“设置单元格格式”,在弹出的窗口中切换到“数字”选项卡,并在“分类”中选择“自定义”,在“类型”中填写:yyyy/mm/dd(图4),确定后退出,然后在F1、F2单元格中分别输入计划任务的开始日期:2006/04/08、2006/04/08,同样拖动鼠标至并列最后一行为止;
第四步:在A1、C1、E1单元格分别输入:schtasks /create /tn、/tr D:ok.js /sc once /st(注意:以上各参数中间分别有一空
格)、/sd,在G1、G2单元格分别输入:/ru ZLSzls /rp 987412365、/ru ZLSzls /rp 987412365,再分别拖动鼠标直至生成所有任务计划的命令行语句;
第五步:按Ctrl+A全选命令行语句,再按Ctrl+V进行复制,接着打开EmEditor将内容粘贴进去,按下Ctrl+H打开“替换”对话框,在“查找”栏中输入:“(中文输入法状态下的左双引号),在“替换为”栏中输入:” (英文输入法状态下的双引号),点击“替换全部”按钮进行替换(图5)。
用类似的方法再将右中文双引号替换为英文双引号,再复制EmEditor中的所有语句并粘贴到一空白Word文档中,然后在Word中按下Ctrl+H打开“查找和替换”对话框,将鼠标在“查找内容”框点击一下,再点击下方的“更多”按钮,依次选择“特殊格式”→“制表符”,然后在“替换为”框中按一下空格键,再点击“全部替换”按钮(图6),最后将该文档保存为纯文本格式;
第六步:将上一步生成的文本文件更改.bat的批处理文件,并双击运行一次即可在Windows XP批量添加一次性计划任务(图7)。