Windows Batch:":此时出乎意料" For命令

时间:2017-02-21 17:52:33

标签: android batch-file adb aapt

我正在尝试使用adb和aapt检查多个设备上安装的APK。 目前,我已经在每台设备上通过我的电脑上的APK列表。我现在正尝试将这些PC APK与设备上的包名称进行匹配,但是,FOR /F "tokens=1 delims=" %%D IN ('adb shell "pm list packages" | !CUT! -d' -f2' ":") DO (行似乎导致错误: was unexpected at this time

请参阅简短代码:

::Global
@echo off

set AAPT=tools\aapt.exe
set GREP=tools\grep.exe
set CUT=tools\cut.exe

:: Install Gold Build applications
cls
@echo.
@echo ------------------------ CHECK APPLICATIONS INSTALLED --------------------------

SETLOCAL ENABLEDELAYEDEXPANSION 
FOR /F "tokens=1,2 skip=1" %%A IN ('adb devices') DO (
    SET IS_DEV=%%B
    if "!IS_DEV!" == "device" (
        SET SERIAL=%%A
        echo.
        echo Device !SERIAL! Connected
        echo.
        for /f "delims=" %%B in ('dir /b ^"APKs\*.apk^"') do (
            SET APK=%%B
            for /f "tokens=1 delims=" %%C in ('%AAPT% d badging APKs\!APK! ^| !GREP! "package: name=" ^| !CUT! -d' -f2') do (
                set package=%%C
                if "!package!" == "" set package=Unknown (
                echo !package!
                    FOR /F "tokens=1 delims=" %%D IN ('adb shell "pm list packages" | !CUT! -d' -f2' ":") DO (
                    SET DEVPACKAGE=%%D
                    echo !DEVPACKAGE!
                        if "!DEVPACKAGE!" == "!package!" (
                        echo Application !package! is installed on device !SERIAL!
                            else (
                            echo Application !package! is not installed on device !SERIAL!
                            )
                        )
                    )
                )
            )
        )
    )
)
ENDLOCAL
@echo.
@echo.
@pause

您能够确定问题吗? 提前谢谢!

0 个答案:

没有答案