Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
批处理文件以搜索android system/app中存在的.odex文件_Android_Search_If Statement_Batch File_Find - Fatal编程技术网

批处理文件以搜索android system/app中存在的.odex文件

批处理文件以搜索android system/app中存在的.odex文件,android,search,if-statement,batch-file,find,Android,Search,If Statement,Batch File,Find,我正在处理一个大的批处理文件,有一个小部分需要帮助。我想做以下几件事。对于\mod文件夹中的每个*.apk,在phone/system/app中搜索mod中文件名的.odex版本。打印它是否存在。下面是我到目前为止的代码。如果我删除for语句并键入apkname而不是变量,它将起作用。但是一旦我添加for行,它总是返回一个大于1的errorlevel,所以不管它是否存在,它总是说它存在。非常感谢你的帮助 SETLOCAL ENABLEDELAYEDEXPANSION for /r "%~dp0"

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

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
)
)

您在此处遇到一些错误和打字错误,请尝试以下操作:

@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,工作批次部分的最终结果如下@已在批处理文件的另一部分中设置了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
    )
)

如果希望搜索不区分大小写,请使用不带/c开关的find.exe,但添加/i。我认为您的主要问题是%errorlevel%应该是!错误等级!谢谢你的帮助。我将移动路径和错误级别从%更改为!它成功了。其他的我都没变!阿普坎姆!。odex只是一个测试,让它显示不在那里。