windows_bat后台运行,无doc窗口
运行 bat 并隐藏 doc 窗口
执行bat并隐藏doc窗口
新建一个 vb 文件为 XXX.vbe ,加入代码
1
2set ws=wscript.createobject("wscript.shell")
ws.run "run.bat /start",0run.bat 为待执行的批处理文件
最后那个0是指窗口参数,用法为:
0 隐藏窗口并激活另一窗口。
1 激活并显示一个窗口。若窗口是最小化或最大化,则恢复到其原来的大小和位置。
2 激活窗口并以最小化显示该窗口。
3 激活窗口并以最大化显示该窗口。
4 按窗口最近的大小和位置显示。活动窗口保持活动。
5 以当前大小和位置激活并显示窗口。
6 最小化指定窗口并激活按 Z 序排序的下一个顶层窗口。
7 最小化显示窗口。活动窗口保持活动。
8 以当前状态显示窗口。活动窗口保持活动。
9 激活并显示窗口。若窗口是最小化或最大化,则恢复到原来的大小和位置。在还原应用程序的最小化窗口时,应指定该标志。
后台执行
执行命令
start /b run.bat
就是后台运行 run.bat 。比如需要运行多个 run.bat,每一个bat都是一个客户端,并且不会阻塞,可以新建一个bat为 run_multi_client.bat ,加入一下内容
1
2
3start /b run.bat
start /b run.bat
start /b run.bat或者使用 py 定时执行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39#!/usr/bin/env python
#-*- coding: utf-8 -*-
import os
import sys
from threading import Timer
import platform
SelfPath = os.getcwd()
counter = 1
total = 3 # 执行次数
def ExecFunc():
cmd = "start /b run.bat"
os.system(cmd)
pass
def TmpFunc(interval):
global counter
ExecFunc()
if counter > 0 and counter < total:
counter = counter + 1
t = Timer(interval, TmpFunc, (interval,))
t.start()
pass
def StartTimer(interval):
t = Timer(interval, TmpFunc, (interval,))
t.start()
pass
def main():
StartTimer(3)
pass
if __name__ == '__main__':
main()