Board logo

标题: [文本处理] 【已解决】如何将获取到的信息保存到变量,并可以在IF中作为判断条件? [打印本页]

作者: 滑两华    时间: 2020-3-8 11:59     标题: 【已解决】如何将获取到的信息保存到变量,并可以在IF中作为判断条件?

本帖最后由 滑两华 于 2020-5-13 18:12 编辑

请教各位大神:
想要实现的目的:
使用adb 命令,获取到了某个文件夹下面的文件列表,比如
adb shell ls /data,这个命令返回的文件列表是 aaa bbb ccc ddd

然后下一步,我想对这个返回的列表进行if 判断,如果有aaa,执行A处理流程,如果没有aaa,执行B处理流程。
BAT代码:
        adb shell ls /data | find "aaa"> result.txt
        ECHO start type result.txt
        for /f %%I in (result.txt) do (
            ECHO start
            IF %%I == "" (A) ELSE(B)
        )

但是在实际运行过程中,没有执行do。不知道哪里错误了。

或者有没有更简洁的方式,来实现读取adb shell ls /data,对这个结果进行IF的判断?

谢谢大神。
作者: 滑两华    时间: 2020-3-8 12:40

定位了一下,上面没有执行do,是因为获取到的result.txt 为空,然后没有find aaa,所以不执行。
在data目录下面创建了aaa文件后,可以正常执行。
作者: went    时间: 2020-3-8 13:26

  1. adb shell su -c 'ls /data/aaa'  | findstr "No such" 1>nul 2>nul && (
  2. echo /data/aaa NOT EXIST,RUN B
  3. ) || (
  4. echo /data/aaa EXIST,RUN A
  5. )
复制代码
/data文件夹好像要有root权限才能读取吧,最好加个su
作者: 滑两华    时间: 2020-3-9 15:33

回复 3# went


    很高深。赞




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2