如何编写Windows CMD batch脚本批量提取多TXT文件第20行内容到master.txt
实现需求的Batch脚本
将以下代码保存为extract.bat,放到所有test*.edit.txt所在的目录下,双击运行即可在当前目录生成符合要求的master.txt:
@echo off setlocal enabledelayedexpansion :: 清除历史生成的master.txt if exist master.txt del master.txt :: 遍历所有匹配命名规则的文件 for %%i in (test*.edit.txt) do ( set "content=" :: 跳过前19行,读取第20行 for /f "skip=19 delims=" %%a in ('type "%%i"') do ( if not defined content set "content=%%a" ) :: 按要求格式写入汇总文件 echo !content! (from %%i)>>master.txt ) endlocal
注意事项
- 脚本默认适配文件名按
test1.edit.txt到test200.edit.txt的排序规则,输出顺序和文件资源管理器按名称升序排列的顺序一致 skip=19是取第20行的核心参数:for/f命令会跳过指定行数后开始读取内容,我们只取读取到的第一行也就是原文件的第20行- 已兼容文件名/路径带空格的场景
- 若某个文件不足20行,对应输出行仅会显示
(from xxx.txt),可根据需要自行补充缺失行的默认值逻辑
内容的提问来源于stack exchange,提问作者user2251216
相关产品推荐
相关产品推荐

