bat实现固定时间循环抓取设备log
背景:
测试时需要实时抓取android设备log,但是一份log抓取过来非常庞大(有时超过500M+,编辑器都打不开,还得找工具进行分割,甚是蛋疼),查看也非常不方便。
解决:
基于上述情况,与其之后进行分割,不如采取分段式抓取log方案。文件名以时间命名还很好进行log查看的。
实现:
由于是在win上执行,所以使用批处理实现较为方便,脚本如下:
@echo off
rem +++++++++++++++++++++++++++++++++++++++++++
rem LogcatLoop.bat
rem By zhzw @2018/12/30
rem
rem Version: 1.0
rem +++++++++++++++++++++++++++++++++++++++++++
adb wait-for-device
rem counter
set count=1
set a=1111111
rem Create folder in current path
mkdir log >nul
:Start
echo ---------start %count%---------
set sdate=%date:~0,4%%date:~5,2%%date:~8,2%
set stime=%time:~0,2%%time:~3,2%%time:~6,2%
if "%stime:~0,1%"==" " set "stime=0%stime:~1%"
call :Process
if not %a%==000000 set a=000000 & start "logcat-win" /min cmd /c "adb logcat -c & adb logcat -b all>log\%sdate%-%stime%.txt"
rem wait 10s to the next loop
timeout /t 10 >nul
set /a count+=1
if %count%==5 goto Process
goto Start
:Process
rem kill adb logcat process
for /f "skip=1 tokens=2" %%i in ('tasklist /nh /fi "WINDOWTITLE eq logcat-win"') do (
set a=%%i
@rem 强制终止线程及子线程
taskkill /f /t /pid %%i >nul
)
分类:
Windows Batch
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律