Board logo

标题: [文本处理] 批处理如何统计文件夹内所有文本中指定相同的字符串数量? [打印本页]

作者: m6012    时间: 2015-12-28 22:29     标题: 批处理如何统计文件夹内所有文本中指定相同的字符串数量?

本帖最后由 pcl_test 于 2015-12-28 23:53 编辑
  1. @echo off
  2. pushd "0\"
  3. (for /f "tokens=* delims=- " %%a in ('find /c "Log In" *.txt') do (
  4. echo,%%a
  5. ))>"%~dp0统计.txt"
  6. pause
复制代码
以上代码可以帮我找到Log In的次数,但是我的实际文本中有别的字符
[2015.11.27 01:11::12]og In
我需要统计的是2015.11.27  Log In的次数,请问这个要怎么修改
作者: DAIC    时间: 2015-12-28 22:36

选其中一个文件,压缩,上传到网盘。
作者: m6012    时间: 2015-12-28 22:42

回复 2# DAIC
作者: DAIC    时间: 2015-12-28 23:01

回复 3# m6012


    这个文件里面看不到 2015.11.27 这个关键字,不知道你希望得到的结果是什么。
作者: m6012    时间: 2015-12-28 23:25

回复 4# DAIC

2015.11.27 是一个日期来的,文件每天都在增加当时的日期,我就是要
    [2015.11.27 01:11::12]og In    识别前面的2015.11.27  Log In 找出来统计就可以了,别的就不要理他,
比如我现在在代码里把关键字改为2015.11.27 Log In ,然后他帮我找出来有多少个就可以了
作者: pcl_test    时间: 2015-12-28 23:50

本帖最后由 pcl_test 于 2015-12-29 00:04 编辑

@echo off
pushd "0\"

for /f %%a in ('findstr /rc:"2015\.11\.27.*Log In" *.txt') do set/a n+=1
>"%~dp0统计.txt" echo;%n%
pause
作者: m6012    时间: 2015-12-29 00:01

回复 6# pcl_test


    请问我要让他输出来结果是要怎么改呢,不好意思,我就是一小白,能不能给我完整的代码
作者: pcl_test    时间: 2015-12-29 00:06

回复 7# m6012

已改
作者: m6012    时间: 2015-12-29 00:53

谢谢您了,版主,不过还有一个小小的要求麻烦您,比如文件里有多个类似的文本,我要把他统计出来后区分里头的文本共有多少个符合条件的输到统计文本里,类似的这个文件夹里,输入的内容大概我放到统计的文本里了,您看一下
作者: pcl_test    时间: 2015-12-29 09:22

回复 9# m6012
  1. @echo off
  2. rem 跟txt文件放在同一文件夹里运行
  3. for %%a in (*.txt) do (
  4.     setlocal enabledelayedexpansion
  5.     for /f %%a in ('findstr /rc:"2015\.12\.14.*Log In" "%%a"') do set/a n+=1
  6.     echo;%%a:!n!
  7.     endlocal
  8. )
  9. pause
复制代码

作者: lihui612ld    时间: 2021-5-19 10:45

回复 10# pcl_test


    for嵌套是不是优先处理最内的in里的内容




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