Windows 7批处理脚本如何格式化测试结果并输出至result.txt
嘿,我来帮你搞定批处理脚本输出美化的问题!针对你的Windows 7环境,我整理了几个实用的技巧和具体实现方案,让你的result.txt看起来清爽又专业~
批处理脚本美化输出到result.txt的实现方案
核心美化思路
- 用分隔线区分不同测试用例,避免内容混杂
- 给每个测试用例添加醒目的标题和时间戳
- 强调关键结果(比如“通过”/“失败”状态)
- 用空行和规整的排版提升可读性
具体实现代码(适配你的示例片段)
下面是修改后的脚本,包含美化输出的逻辑:
@echo off setlocal enabledelayedexpansion :: 初始化结果文件(如果需要保留历史记录,就删掉下面这行) echo === 测试报告 - 生成于 %date% %time% === > result.txt echo. >> result.txt REM 1. AboutScreenEnglishTest 测试用例 echo --- 测试用例:AboutScreenEnglishTest --- >> result.txt echo 执行时间:%date% %time% >> result.txt :: 执行adb测试命令,把输出临时存到temp_output.txt(避免冗余信息直接写入结果) adb shell am instrument -w -r -e debug false -e class com.example.tests.AboutScreenEnglishTest com.example.tests.test/androidx.test.runner.AndroidJUnitRunner > temp_output.txt :: 解析并写入测试结果 echo 测试输出摘要: >> result.txt :: 提取关键结果行(比如找包含OK/FAILED的行) findstr /i "OK FAILED" temp_output.txt >> result.txt :: 自定义状态判断并强调 findstr /i "OK" temp_output.txt >nul if !errorlevel! equ 0 ( echo 测试状态:*通过* >> result.txt ) else ( echo 测试状态:*失败* >> result.txt ) echo. >> result.txt REM 后续测试用例可以重复上述结构 REM 2. 其他测试用例示例 REM echo --- 测试用例:LoginFunctionTest --- >> result.txt REM ... 重复执行、解析、写入逻辑 ... :: 清理临时文件(可选) del temp_output.txt echo 所有测试执行完成,结果已写入result.txt endlocal
美化细节说明
- 用
echo === ... ===生成报告头部,带上时间戳方便追溯 - 用
echo --- ... ---作为每个测试用例的分隔标题,清晰区分不同测试 - 用
*通过*/*失败*强调测试状态(虽然批处理不支持Markdown渲染,但文本里的星号能让结果更醒目) - 临时文件
temp_output.txt用来捕获adb的完整输出,只把关键信息写入result.txt,避免冗余内容干扰 - 用
echo. >> result.txt添加空行,让内容块之间更透气
进阶玩法:纯文本表格样式
如果想要更规整的排版,可以用纯文本表格来展示测试结果,示例代码如下:
:: 在脚本开头添加表格表头 echo +--------------------------+--------+---------------------+ >> result.txt echo | 测试用例名称 | 状态 | 执行时间 | >> result.txt echo +--------------------------+--------+---------------------+ >> result.txt :: 测试用例执行后,按表格格式写入 set "testName=AboutScreenEnglishTest" set "testStatus=通过" set "testTime=%date% %time%" echo | %testName% | %testStatus% | %testTime% | >> result.txt echo +--------------------------+--------+---------------------+ >> result.txt
这样生成的result.txt会有类似表格的结构,可读性大幅提升。
内容的提问来源于stack exchange,提问作者Jamil Rahman
相关产品推荐
相关产品推荐

