Ich verwende einen FOR-Befehl und AAPT-Befehl, um einen Paketnamen aus einer Reihe von APKs in einem Verzeichnis abzurufen. Ich verwende einen separaten FOR-Befehl und einen ADB-Befehl, um alle installierten Anwendungen von Drittanbietern vom Gerät aufzulisten.Windows Batch/ADB - Überprüfen Sie installierte Anwendungen für mehrere Geräte
Ich war in der Lage, diese zu referenzieren, um die Ausgabe zu erhalten, die ich für ein einzelnes Gerät wünschen würde. Ich bin mir nicht sicher, wie ich das Skript neu anordnen kann, um mehrere Geräte zu verwalten, wenn ich Fehler erhalte.
Ich hoffe, Sie können verstehen, was ich versuche zu erreichen. Sehen Sie bitte meinen Versuch unter:
::Global
@echo off
set AAPT=tools\aapt.exe
set GREP=tools\grep.exe
set CUT=tools\cut.exe
:: Applications
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /F "tokens=1,2 skip=1" %%N IN ('adb devices') DO (
SET IS_DEV=%%O
if "!IS_DEV!" == "device" (
SET SERIAL=%%N
for /f "delims=" %%P in ('dir /b ^"APKs\*.apk^"') do (
SET APK=%%P
for /f "tokens=1 delims=" %%Q in ('%AAPT% d badging APKs\!APK! ^| !GREP! "package: name=" ^| !CUT! -d' -f2') do (
set package=%%Q
if "!package!" == "" set package=Unknown (
echo !package!>>"%userprofile%\desktop\PCAPPS.txt"
)
)
)
)
)
FOR /F "tokens=1,2 skip=1" %%R IN ('adb devices') DO (
if "!IS_DEV!" == "device" (
FOR /F "tokens=1 delims=" %%U IN ('adb shell "pm list packages -3" ^| !CUT! -f 2 -d ":"^') DO (
SET DEVPACKAGE=%%U
echo !DEVPACKAGE!>>"%userprofile%\desktop\DEVAPPS.txt"
)
)
)
)
)
FOR /f "tokens=*" %%a in ('FINDSTR /vlxg:"%userprofile%\desktop\DEVAPPS.txt" "%userprofile%\desktop\PCAPPS.txt"') DO (
set NOTDEVAPP=%%a
echo !SERIAL! does not have package !NOTDEVAPP! installed
)
del "%userprofile%\desktop\DEVAPPS.txt"
del "%userprofile%\desktop\PCAPPS.txt"
)
ENDLOCAL
@pause
Dies bezieht dich auf die Frage: Windows Batch/ADB - Check if installed .apk matches .apk from a directory
Mögliche Duplikat [Windows-Batch/ADB - Überprüfen Sie, ob installiert APK APK aus einem Verzeichnis übereinstimmt] (http://stackoverflow.com/questions/42815229/windows-batch-adb-check-if- installed-apk-matches-apk-from-a-directory) – aschipfl
Bitte beachten Sie den Hinweis am Ende der Frage – beecho01