标题: [文本处理] [已解决]批处理如何批量提取txt文本文档中记录的数量? [打印本页]
作者: 小木瓜小土豆 时间: 2015-3-28 15:02 标题: [已解决]批处理如何批量提取txt文本文档中记录的数量?
如题,由原始数据几十甚至几百的txt文本,每个文本中都有很多行数字ID,现在想批处理实现目录下所有txt按照文本的名称提出内容ID的数量,并输出。原始资料特点总结如下:
(1)数字ID,以TXT文本存储;
(2)每一组数字为一个ID,均有数字组成
(3)可能存在空行(不知道怎么才能差出来,目视看不出来)
(4)文档名称由编号,编号之间没什么规律可循;
想一次提取每个文本文档中ID的数量,请教各位有没有好的办法,测试数据见附件,先行谢过了,thx a lot~
作者: pcl_test 时间: 2015-3-28 15:25
回复 1# 小木瓜小土豆 - @echo off
- setlocal enabledelayedexpansion
- (for /f "delims=" %%a in ('dir /a-d /b *.txt') do (
- set n=0
- for /f "delims=" %%b in ('type "%%a"') do set /a n+=1
- if "%%a" neq "统计.txt" echo,%%a --- !n!
- ))>"统计.txt"
复制代码
作者: 小木瓜小土豆 时间: 2015-3-28 16:21
回复 2# pcl_test
非常感谢,测试完成,输出的数据可以满足我想要的效果。大量工作数据处理,真实太实用了,非常感谢 ~
作者: DAIC 时间: 2015-3-28 22:14
回复 2# pcl_test
这样可以避免频繁执行 set /a n+=1- @echo off
- setlocal enabledelayedexpansion
- (for %%a in (*.txt) do (
- set n=0
- for /f "delims=" %%b in ('type "%%a" ^| findstr "[0-9]" ^| find /v /c ""') do (
- set n=%%b
- )
- echo %%a --- !n!
- ))>"统计.log"
复制代码
作者: 小木瓜小土豆 时间: 2015-3-30 09:28
回复 5# DAIC
谢谢~回复已收到,非常感谢~
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |