0

我正在处理一个大型批处理文件,并且有一小部分需要帮助。我想做以下事情。对于 \mod 文件夹中的每个 *.apk,在手机 /system/app 中搜索 mod 中文件名的 .odex 版本。打印它是否存在。以下是我到目前为止的代码。如果我删除 for 语句并输入 apkname 而不是变量,它将起作用。但是一旦我添加了 for 行,它总是返回一个大于 1 的错误级别,所以它总是说它存在,不管它是否存在。非常感谢您的帮助。

SETLOCAL ENABLEDELAYEDEXPANSION
for /r "%~dp0"\mod %%f in (*.apk) DO (
set apkname=%%~nf
set mobile_path=/system/app
adb shell ls %mobile_path% | find /c "!apkanme!.odex" >NUL
if %ERRORLEVEL% == 0 (
    echo the file exists
) else (
    echo the file does not exist
)
)
4

2 回答 2

0

你有一些错误和一些错别字,试试这个:

@echo off &SETLOCAL ENABLEDELAYEDEXPANSION
for /r "%~dp0\mod" %%f in (*.apk) DO (
    set "apkname=%%~nf"
    set "mobile_path=\system\app"
    adb shell ls !mobile_path! | find /i "!apkname!.odex" >NUL
    if !ERRORLEVEL! equ 0 (echo the file exists) else echo the file does not exist
)

顺便提一句。我知道批次,不是adb

于 2013-04-22T22:04:56.543 回答
0

工作批次部分的最终结果如下。@echo off 已在批处理文件的另一部分中设置。

SETLOCAL ENABLEDELAYEDEXPANSION
for /r "%~dp0"\mod %%f in (*.apk) DO (
    set apkname=%%~nf
    set mobile_path=/system/app
    adb shell ls !mobile_path! | find /c "!apkname!.odex" >NUL
    if !ERRORLEVEL! == 0 (
        echo the file exists
    ) else (
        echo the file does not exist
    )
)
于 2013-04-23T15:21:50.130 回答