1

我在 Windows 批处理中使用以下行

SET MOBILE_PATH=/mnt/sdcard/koinoxrista
SET FILE_BILL="adb shell ls %MOBILE_PATH% ^| find /c "Bill.txt" "

这条线adb shell ls %MOBILE_PATH% | find /c "Bill.txt"给了我 1

我想编写一个 If 语句,如果 FILE_BILL 等于 1,则执行某些操作,如果等于 0,则执行其他操作。我该怎么做?

if %FILE_BILL% == 1 (
    echo the file exists
) else (
    echo the file does not exist
)

我总是收到消息file does not exist

4

1 回答 1

0

您的问题表明 Bill.txt 在给定位置存在(或不存在)仅重要,而不是find /c "Bill.txt"给出1. 如果这是真的,那么当“Bill.txt”在 adb 命令的输出中时,您可以简单地使用%ERRORLEVEL%

SET MOBILE_PATH=/mnt/sdcard/koinoxrista
adb shell ls %MOBILE_PATH% | 查找 /c "Bill.txt" >NUL
如果 %ERRORLEVEL% == 0 (
    回显文件存在
) 别的 (
    回显文件不存在
)

您可以将 %ERRORLEVEL% 保存到其他变量以供以后使用。

于 2012-10-26T17:44:25.183 回答