系统环境:Windows XP SP2。
最近想定期执行一个程序,于是试了一下Windows的“任务计划”,结果发现执行的情况有时与预期不符。测试之后,发现这个“任务计划”好像有下面的bug。
有两种方式可以创建“任务计划”:
在【控制面板】→【任务计划】中,
一是双击“添加任务计划”图标,打开“任务计划向导”;
二是在右键菜单中选择【新建】→【计划任务】。
(ps:微软怎么在搞?怎么一会儿“任务 计划”,一会儿“计划 任务”的?)
“任务”在两种情况下会启动:
一是根据设定的计划自动启动。
二是在其图标上点右键,选【运行】,立即启动。
但是我多次测试,发现有时任务不会按照预定的计划启动运行,怎么回事儿呢?
后来发现,都是“改名”惹得祸。不管用什么方式创建的“任务计划”,请在创建的时候把名字给起好,不要等着之后再去“重命名”,否则的话,系统就不认得了。想让它按计划执行的话,还得把名字改回去,或者重新创建一个“任务计划”吧……当然你可以手动运行任务,但这样就失去任务计划的意义了。
下面是一些关于“任务计划”其它需要注意的地方:
1.Windows XP 是个多用户系统,程序运行时必须指定运行时使用的帐户。创建的“任务计划”要正常运行的话,也必须指定运行此计划使用的帐户和密码。这里Windows规定密码不能为空,当然更不能错误了,否则计划是无法执行的。所以如果你的帐户是空密码的话,还是去加个密码吧。
2.也是多用户的问题,运行计划时指定的用户最好使用当前登录的用户,否则的话,你会在计划执行后看到,任务虽然是“正在运行”的状态,任务管理器里面也多出相应的进程,但是却看不到任何反应,相应的程序界面也没有显示,程序好像跟没有运行一样。
我测试过:计划打开一个文本文件,有a、b两个用户。如果a登录,b未登录,以b的身份执行计划,则进程中可以看到程序已经启动,但在a的桌面上看不到程序的界面,登录b以后也看不到程序的界面;但如果b先登录再断开,然后登录到a,计划执行后,a的桌面上看不到程序界面,但重新连接b的桌面可以看到程序界面。
结论:任务计划指定的用户必须已经登录,某些程序才能正常运行。(也许其它有些后台服务程序无需登录也能正常运行,我没试过。)
以上测试均为Windows XP SP2环境,其它Windows版本没试过。
PS:虽然为了安全性,建议大家给帐户加密码,不过每次登录都要输入密码确实比较烦。推荐大家可以用一个工具软件来设置让XP系统自动登录:TweakXP。
嫌用工具麻烦?你也可以这样,【开始】→【运行】→“Rundll32 netplwiz.dll,UsersRunDll”,这时会弹出来一个Windows 2000风格的用户帐户对话框。去掉对话框中的“要使用本机,用户必须输入用户名和密码”复选框,确定之后系统会让你输入默认登录的用户名和密码。
如果你对安全性不是“很在意”,可以用个简单的密码。要是设了自动登录,不要把密码给忘掉咯,可以好好利用一下Windows XP设定密码提示的功能哦。