计划任务触发条件设为登录还不够

之前为了用winscp备份vps上的数据库,我写了一个批处理文件,然后把它放到计划任务里,一开始不运行,因为没有设置“开始于”,改完发现还是不行,因为触发事件设置成了开机,而开机时可能啥都没准备好,根本开不了。

后来把触发事件改成登录后,bat运行起来了,以为这样万事大吉了,实际上还是没用,因为刚开机的时候,网还没连接上,所以无法进行备份。

按道理说,这个问题应该用循环/递归的办法来解决,也就是说,只要发现错误,程序就重新执行一次自己。但是考虑到刚登录基本上有百分之99.99的概率无法连接网络,所以还是先加上一个延时吧。

网上一查,批处理本身好像并没有延时的办法,怎么办呢?写一个vbs到批处理里,形如以下代码:

echo set os = CreateObject("Wscript.shell")>>sleep.vbs
echo wscript.sleep 10000>>sleep.vbs &&call sleep.vbs &&del sleep.vbs

等10秒总可以了吧!

以上代码利用管道命令把vbs程序语句(就一句睡10秒)写到一个vbs文件中,执行完了再删除之,你懂的。

接下来就可以继续向下执行备份程序了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注