找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 31474|回复: 10

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

[复制链接]
发表于 2015-12-28 22:29:53 | 显示全部楼层 |阅读模式
本帖最后由 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的次数,请问这个要怎么修改
发表于 2015-12-28 22:36:00 | 显示全部楼层
选其中一个文件,压缩,上传到网盘。
 楼主| 发表于 2015-12-28 22:42:19 | 显示全部楼层
回复 2# DAIC
发表于 2015-12-28 23:01:47 | 显示全部楼层
回复 3# m6012


    这个文件里面看不到 2015.11.27 这个关键字,不知道你希望得到的结果是什么。
 楼主| 发表于 2015-12-28 23:25:43 | 显示全部楼层
回复 4# DAIC

2015.11.27 是一个日期来的,文件每天都在增加当时的日期,我就是要
    [2015.11.27 01:11::12]og In    识别前面的2015.11.27  Log In 找出来统计就可以了,别的就不要理他,
比如我现在在代码里把关键字改为2015.11.27 Log In ,然后他帮我找出来有多少个就可以了
发表于 2015-12-28 23:50:48 | 显示全部楼层
本帖最后由 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
 楼主| 发表于 2015-12-29 00:01:25 | 显示全部楼层
回复 6# pcl_test


    请问我要让他输出来结果是要怎么改呢,不好意思,我就是一小白,能不能给我完整的代码
发表于 2015-12-29 00:06:30 | 显示全部楼层
回复 7# m6012

已改
 楼主| 发表于 2015-12-29 00:53:32 | 显示全部楼层
谢谢您了,版主,不过还有一个小小的要求麻烦您,比如文件里有多个类似的文本,我要把他统计出来后区分里头的文本共有多少个符合条件的输到统计文本里,类似的这个文件夹里,输入的内容大概我放到统计的文本里了,您看一下
发表于 2015-12-29 09:22:31 | 显示全部楼层
回复 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
复制代码
发表于 2021-5-19 10:45:41 | 显示全部楼层
回复 10# pcl_test


    for嵌套是不是优先处理最内的in里的内容
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 17:23 , Processed in 0.029054 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表