vbs定期监控 值个班,定期瞄一下

    系统:Windows 7

    引言

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

    思考:实验设计
    目标:定期执行一个Python程序
    vbs脚本作为时间控制部分,定期运行一个bat文件,bat文件再执行python文件

    逻辑过程

    代码

    vbs部分

    
    Dim wshDim current_dir
    Dim run_mode
    Dim bat_addrMsgBox "此脚本旨在定期运行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

    代码截图

    bat部分

    python main.py

    python部分

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

    代码截图

    运行结果

    代码解读

    wsh.run bat_addr, 0, True,运行bat_addr命令

    0,表示不显示运行窗口,如果写1,则显示运行窗口,如下图

    True,表示是否等待后面程序执行完毕,再执行下面的语句,如果写False,效果如下,有一种中病毒的感觉

    为什么采用这种方法呢?vbs这种方式定期运行,对电脑资源的消耗是非常小的。例如我的电脑,对CPU的消耗几乎为0,内存的消耗大概3000K,还是在接受的范围内(notepad++的内存消耗为20000K左右,只打开文中3个文件的情况下)

    参数写1时,效果

    False,效果

    这篇文章就介绍到这了,如果这篇文章帮助到了你,希望你以后能继续支持lingkb。