我正在处理一个大型批处理文件,并且有一个我需要帮助的小部分。我想做以下事情。对于\ mod文件夹中的每个* .apk,在手机/系统/应用中搜索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
)
)
答案 0 :(得分: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
。
答案 1 :(得分: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
)
)