[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 【已解决】如何将获取到的信息保存到变量,并可以在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的判断?

谢谢大神。
菜鸟报道,多多指教

定位了一下,上面没有执行do,是因为获取到的result.txt 为空,然后没有find aaa,所以不执行。
在data目录下面创建了aaa文件后,可以正常执行。
菜鸟报道,多多指教

TOP

  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

TOP

回复 3# went


    很高深。赞
菜鸟报道,多多指教

TOP

返回列表