Board logo

标题: [文本处理] 批处理如何提取txt中特定内容? [打印本页]

作者: xslxslxsl    时间: 2022-10-2 17:09     标题: 批处理如何提取txt中特定内容?

一个文件夹下有多个TXT文件,名称如A.TXT、B.TXT、C.TXT……这些文件内容大致相似,都有生产零件多少个,打扫房间多少间,上报数据多少条等内容,如:
A.TXT:
数据统计A组
2022年1月某某加工零件10个,打算房间1间,上报数据3条三六九等法律会计师登录福建省来得及法律世纪东方
sdjflksjdfljsldkfjlskdjflksdjflkasj
B.TXT
数据统计B组
2022年1月某某加工零件2个,打算房间3间,上报数据2条三六九DSDFSDFASDF建省来得及法律世纪东方
sdjflksjSDFdjflksdjfSDFASDFA
C.TXT
数据统计C组
2022年1月某某加工零件6个,打算房间4间,上报数据2条  SDF计师登录福
SDGASG
……
现在打算将该所有TXT中记录的该内容,提取到一个新的TXT中,仅仅记录生产零件多少个,打扫房间多少间,上报数据多少条,其他内容不要,
结果:
文件名称,生产零件X个,打扫房间X间,上报数据X条
A.TXT,10,1,3
B.TXT,1,2.3
C,TXT,6,4,2
谢谢大家!
作者: Batcher    时间: 2022-10-3 10:51

回复 1# xslxslxsl


请参考Q-04和Q-05把bat文件和txt文件都保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
  1. @echo off
  2. cd /d "%~dp0"
  3. set "FileName=Out.csv"
  4. >%FileName% echo 文件名称,生产零件X个,打扫房间X间,上报数据X条
  5. for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
  6.     echo 正在处理文件 %%i
  7.     for /f "tokens=2,4,6 delims=件个间据条" %%a in ('type "%%i" ^| find "加工零件"') do (
  8.         >>%FileName% echo %%i,%%a,%%b,%%c
  9.     )
  10. )
复制代码

作者: xslxslxsl    时间: 2022-10-3 17:39

回复 2# Batcher


    非常感谢,我先学习一下,感谢指点!
作者: qixiaobin0715    时间: 2022-10-4 08:55

bat文件另存为ANSI编码:
  1. @echo off
  2. (echo,文件名称,生产零件,打扫房间,上报数据
  3. for /f "tokens=1,3,5,7 delims=:件个间据条" %%a in ('findstr /r "加工零件" *.txt') do (
  4.     echo,%%a,%%b,%%c,%%d
  5. ))>out.csv
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2