vbs-定期监控

微信公众号原文

系统:Windows 7

引言

  • 有些时候需要定期去执行一段程序,怎么办?这里提供一个方法,虽然有点绕,但效果还不错
  • 时间控制部分使用vbs实现

思考:实验设计

  1. 目标:定期执行一个Python程序
  2. vbs脚本作为时间控制部分,定期运行一个bat文件,bat文件再执行python文件

逻辑过程

vbs-定期监控_第1张图片

代码

vbs部分

Dim wsh
Dim current_dir
Dim run_mode
Dim bat_addr

MsgBox "此脚本旨在定期运行python语句"
Set wsh = CreateObject("Wscript.Shell")
current_dir = wsh.currentdirectory

Do While True
    bat_addr = "run.bat"
    wsh.run bat_addr, 0, True
    Wscript.sleep (2*1000) '休息2秒 
Loop

代码截图
vbs-定期监控_第2张图片

bat部分

python main.py

python部分

import win32api
import win32con

win32api.MessageBox(0, "python在运行", "提示", win32con.MB_OK)

代码截图
vbs-定期监控_第3张图片

运行结果
vbs-定期监控_第4张图片

代码解读

  1. wsh.run bat_addr, 0, True,运行bat_addr命令
    • 0,表示不显示运行窗口,如果写1,则显示运行窗口,如下图
    • True,表示是否等待后面程序执行完毕,再执行下面的语句,如果写False,效果如下,有一种中病毒的感觉
  2. 为什么采用这种方法呢?vbs这种方式定期运行,对电脑资源的消耗是非常小的。例如我的电脑,对CPU的消耗几乎为0,内存的消耗大概3000K,还是在接受的范围内(notepad++的内存消耗为20000K左右,只打开文中3个文件的情况下)

参数写1时,效果
vbs-定期监控_第5张图片

False,效果
vbs-定期监控_第6张图片


更多精彩,请关注微信公众号
扫描二维码,关注本公众号

公众号底部二维码.jpg

你可能感兴趣的:(vbs,vbs,bat,python)