0

我已经启动了一个脚本,但由于某种原因它没有按预期工作。

我正在尝试遍历一个文件夹,遍历文件夹中的所有文件,并在每个文件的命令提示符下使其遵循命令:

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

目前它似乎是按顺序运行而不是同时运行,我可能是错的,但根据我在控制台中实时看到的

4

0 回答 0