我需要填写SD卡(0kb作为可用空间),因此,我使用以下批处理复制sdcard上不同名称的文件“Maroon.file”(25mb)(Maroon_1.file,Maroon_2。文件,...)
set counter=0
:COPYSMALLFILES
set /a counter=%counter% + 1
adb push Maroon.file /sdcard/Download/Maroon_%counter%.file | findstr /L "failed" | findstr /C:"failed to"
echo %errorlevel%
if %errorlevel%==1 (
GOTO COPYSMALLFILES
)
当SD卡没有更多内存来复制任何其他文件时,adb push
会给出此消息“failed to copy 'Maroon.file' to '/sdcard/Download/Maroon_4.file': No space left on device
”,我试图通过findstr
命令搜索该消息单词“failed
”,我已经测试了该命令(findstr
)并且工作正常但是使用adb push
命令它不起作用。有人有其他想法吗?
答案 0 :(得分:1)
如果是这样,那么错误可能会被写入 stderr (2)流而不是 stdout (1)流。将此流重定向添加到您的命令。 2>&1
adb push Maroon.file /sdcard/Download/Maroon_%counter%.file
的 2>&1
强> | findstr /L "failed" | findstr /C:"failed to"
答案 1 :(得分:0)
我不确定我到底需要什么; grep命令怎么样?