vbs定期监控 值个班,定期瞄一下
利用VBS脚本作为定时器,通过bat文件间接调用Python程序,实现轻量级定期执行任务。该方法无需额外依赖,资源消耗极低:CPU占用几乎为零,内存仅约3000K(3MB),适合在资源受限或需要简单定时场景中稳定运行。
系统:Windows 7
有时候,我们就是想让一段程序定期跑一跑,比如每天备份个文件、定时发个提醒什么的。直接写个死循环?太粗暴。用系统任务计划?又觉得有点重。这里分享一个取巧的方法:用 VBS 脚本做定时器,通过 bat 文件间接调用 Python 程序。路子算是弯了点,但胜在轻量、可控,资源消耗几乎可以忽略不计。
设计思路
目标很明确:定期执行一个 Python 脚本。拆解下来就是三个环节:
- 时间控制部分由 VBS 脚本承担,它负责循环等待,到了预定间隔就触发一次。
- VBS 不直接调用 Python,而是启动一个 bat 文件作为中间人。
- bat 文件里只做一件事——运行 python main.py。
整个链条就像一条流水线:VBS 定闹钟 → 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
- 第1个参数:要执行的命令或程序路径,这里是 bat 文件。
- 第2个参数(窗口样式):
0表示不显示运行窗口,后台静默执行。如果改成1,就会弹出一个命令行窗口,运行过程中你能看到黑框一闪而过(就像手动双击 bat 一样)。

- 第3个参数(是否等待):
True表示 VBS 会等 bat 执行完再继续往下走(即等 Python 程序运行结束后才开始计时下一次)。如果写成False,VBS 会不管 bat 是否结束,直接开始下一次循环——这时候会连续弹出多个窗口,效果就像中了病毒一样,图就不多说了。

为什么绕这么一圈用 VBS 做定时器?
直接写 Python 死循环 + time.sleep 当然也可以,但 VBS 这种方式对系统资源的消耗确实非常低。实际测试下来,CPU 占用几乎为 0,内存占用大约 3000K 左右。对比一下:用 Notepad++ 只打开文中那三个文件,内存消耗已经接近 20000K。所以这点开销完全可以接受。
如果你只需要一个轻量级、不用安装任何额外依赖的定时执行方案,这套组合拳值得一试。
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















