我已经启动了一个脚本,但由于某种原因它没有按预期工作。
我正在尝试遍历一个文件夹,遍历文件夹中的所有文件,并在每个文件的命令提示符下使其遵循命令:
adb install -r C:\文件夹名\文件名.apk
我希望命令作为窗口而不是在后台运行,以便我可以看到普通的命令提示符窗口。
然后我也在等到所有 cmd.exe 窗口都消失了,然后再开始新的一批 5 个命令。
这是我到目前为止所拥有的,我认为问题与我运行命令的方式有关,我尝试了几种类型(其中包括两种,os.system()
并且subprocess.popen()
import os
import time
import subprocess
import shutil
AppsNewDir = "C:\\NewApps"
counter = 0
def is_process_running(process):
n = 0 # number of instances of the program running
prog = [line.split() for line in subprocess.check_output("tasklist").splitlines()]
[prog.pop(e) for e in [0, 1, 2]] # useless
for task in prog:
if task[0] == process:
n = n + 1
if n > 0:
return True
else:
return False
for subdir, dirs, files in os.walk(AppsNewDir):
for file in files:
if ".apk" in file:
print file
command = "adb install -r " + AppsNewDir + "\\" + file
#os.system(command)
proc = subprocess.Popen(command, shell=True,
stdin=None, stdout=None, stderr=None, close_fds=True)
counter += 1
if counter == 5:
while is_process_running("cmd.exe"):
time.sleep(1)
counter = 0
目前它似乎是按顺序运行而不是同时运行,我可能是错的,但根据我在控制台中实时看到的