|
本帖最后由 roych 于 2015-12-19 10:39 编辑
刚刚在论坛看到有群友提出如何定时运行程序的问题。定时运行的程序,从理论上讲,任意文件都是可以用于执行计划任务的。不过实际上,我们常常都是使用诸如宿主脚本(VBS)、批处理文件(bat)或者可执行文件(exe)等文件来执行。
下面以之前做的一个小玩意儿,简略讲解下如何定时执行程序。新建一个文本文件,输入以下代码:
- Dim fso, fl,y,m,d,ymd,ws
- Set fso = CreateObject("scripting.filesystemobject")
- y=Year(Date())
- if month(date())<10 then
- m="0"&month(date())
- else
- m=month(date())
- end if
- if day(date())<10 then
- d="0"&day(date())
- else
- d=day(date())
- end if
- '获取日期格式
- ymd= y&"_"&m&"_"&d
- '分卷压缩,每卷100M。
- on error resume next
- Set ws=CreateObject("wscript.shell")
- For Each fl In fso.GetFolder("D:\db_backup").Files
- If instr(1,fl.Name,ymd)>0 Then
- 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 & """"
-
- End If
- Next
- '退出脚本
- Wscript.Quit
复制代码 另存为“分卷压缩.vbs"【不清楚的请自行在文末下载附件】。VBScript的写法类似于VBA,但不能定义变量类型了,需要创建其它组件,只能使用CreateObject,而不是New哦。还有不能用like等,具体请自行参考语法差别。
这里不使用Access文件来处理,是因为服务端没有安装该程序。如果使用Access,则需要设置AutoExec宏来执行,否则只是打开文件,并不会执行里面的代码。因此不太建议使用Access来完成一些计划任务【例如备份数据库】等等。这是题外话了。
接下来新建一个计划任务:
命名计划任务:
设置定时执行时间:
点击”操作“选项卡,浏览打开刚刚保存的vbs脚本:
返回主界面,点击确定:
可能需要设置密码(如果有的话):
这时候我们可以在计划任务中看到刚刚建立的计划任务了:
需要注意的是,如果密码更改,则可能不会再次执行,因此建议服务端设置密码有效期为”永久“。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|