スクリプトを開始しましたが、何らかの理由で意図したとおりに動作しません。
フォルダー内のすべてのファイルを調べて、各ファイルのコマンドプロンプトで次のコマンドを作成して、フォルダーを循環しようとしています。
adb install -r C:\フォルダ名\ファイル名.apk
通常のコマンド プロンプト ウィンドウが表示されるように、コマンドをバックグラウンドではなくウィンドウとして実行する必要があります。
また、5 つのコマンドの新しいバッチを開始する前に、すべての cmd.exe ウィンドウが消えるまで待機しています。
これが私がこれまでに持っているものです。問題はコマンドの実行方法に関係していると思います。いくつかのタイプを試しました(これには2つ含まれており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
現在、同時にではなく順次実行されているようです。間違っているかもしれませんが、リアルタイムでコンソールに表示される内容に基づいています