Office中国论坛/Access中国论坛

标题: 计划任务小教程——关于定时运行程序的利器 [打印本页]

作者: roych    时间: 2015-12-19 09:48
标题: 计划任务小教程——关于定时运行程序的利器
本帖最后由 roych 于 2015-12-19 10:39 编辑

刚刚在论坛看到有群友提出如何定时运行程序的问题。定时运行的程序,从理论上讲,任意文件都是可以用于执行计划任务的。不过实际上,我们常常都是使用诸如宿主脚本(VBS)、批处理文件(bat)或者可执行文件(exe)等文件来执行。
下面以之前做的一个小玩意儿,简略讲解下如何定时执行程序。新建一个文本文件,输入以下代码:
  1. Dim fso, fl,y,m,d,ymd,ws
  2. Set fso = CreateObject("scripting.filesystemobject")

  3. y=Year(Date())

  4. if month(date())<10 then
  5. m="0"&month(date())
  6. else
  7. m=month(date())
  8. end if

  9. if day(date())<10 then
  10. d="0"&day(date())
  11. else
  12. d=day(date())
  13. end if
  14. '获取日期格式
  15. ymd= y&"_"&m&"_"&d
  16. '分卷压缩,每卷100M。
  17. on error resume next

  18. Set ws=CreateObject("wscript.shell")
  19. For Each fl In fso.GetFolder("D:\db_backup").Files        
  20.     If instr(1,fl.Name,ymd)>0  Then
  21.         ws.run """C:\Program Files (x86)\WinRAR\WinRAR.exe"" a -v154000[k] ""D:\db_backup\Backup_Winrar" & Left(fl.Name, Len(fl.Name) - 4) & ".rar" & """ """ & fl.path & """"

  22.         
  23.     End If
  24. Next
  25. '退出脚本
  26. Wscript.Quit
复制代码
另存为“分卷压缩.vbs"【不清楚的请自行在文末下载附件】。VBScript的写法类似于VBA,但不能定义变量类型了,需要创建其它组件,只能使用CreateObject,而不是New哦。还有不能用like等,具体请自行参考语法差别。


这里不使用Access文件来处理,是因为服务端没有安装该程序。如果使用Access,则需要设置AutoExec宏来执行,否则只是打开文件,并不会执行里面的代码。因此不太建议使用Access来完成一些计划任务【例如备份数据库】等等。这是题外话了。


接下来新建一个计划任务:
[attach]57571[/attach]
命名计划任务:
[attach]57572[/attach]
设置定时执行时间:
[attach]57573[/attach]
点击”操作“选项卡,浏览打开刚刚保存的vbs脚本:
[attach]57574[/attach]
返回主界面,点击确定:
[attach]57575[/attach]
可能需要设置密码(如果有的话):
[attach]57576[/attach]
这时候我们可以在计划任务中看到刚刚建立的计划任务了:
[attach]57577[/attach]
需要注意的是,如果密码更改,则可能不会再次执行,因此建议服务端设置密码有效期为”永久“。[attach]57578[/attach]




作者: admin    时间: 2015-12-19 10:14
强!,谢谢分享!
作者: 764300778    时间: 2015-12-20 20:51
eeee
作者: 5988143    时间: 2015-12-21 10:02
學習學習~
作者: purplerose    时间: 2016-3-3 10:51
ROYCH 不错呀,值得表扬!
作者: 522650696    时间: 2016-4-14 17:02
强!,谢谢分享!
作者: p51219    时间: 2016-7-14 22:28
好好好好好




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3