[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

本帖最后由 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的次数,请问这个要怎么修改

回复 10# pcl_test


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

TOP

回复 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
复制代码

TOP

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

TOP

回复 7# m6012

已改

TOP

回复 6# pcl_test


    请问我要让他输出来结果是要怎么改呢,不好意思,我就是一小白,能不能给我完整的代码

TOP

本帖最后由 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

TOP

回复 4# DAIC

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

TOP

回复 3# m6012


    这个文件里面看不到 2015.11.27 这个关键字,不知道你希望得到的结果是什么。

TOP

回复 2# DAIC

TOP

选其中一个文件,压缩,上传到网盘。

TOP

返回列表