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

[文本处理] 应该如何写这个批处理统计一个文本中的数字出现次数

[复制链接]
发表于 2012-9-21 08:28:32 | 显示全部楼层
回复 13# ketop


    请把测试数据和测试结果贴出来,否则单凭“不行”二字别人很难知道如何继续帮助你。
发表于 2012-9-23 23:30:02 | 显示全部楼层
确实应该把情况说详细些, 估计是一行字符太多... 拼凑了一段 —— 针对文本仅一长行 为输出整齐一点, 取每个统计数最多3位数 (不然修改这句 set/p "=  %%a 有!b.:~-3!")
  1. @echo off <nul 3<1.txt
  2. setlocal enabledelayedexpansion
  3. :lp
  4. set a=&set/p a=
  5. if "%a%"=="" goto :next
  6. if "%a: =%"=="" goto :next
  7. for %%b in (%a%)do (
  8.     set/a y!o!%%b+=1
  9.     set "o=%%b"
  10. )
  11. goto :lp
  12. :next
  13. for /L %%i in (0 1 9)do for /L %%j in (0 1 9)do (
  14.       set/a "u=!y%%i%%j!+100000"
  15.       set/a "#%%i#!u!#%%j=!y%%i%%j!+0"
  16. )
  17. (for /L %%h in (0 1 9)do (
  18.    set/p"=%%h 后:"
  19.    set n=0
  20.    for /f "tokens=3,4 delims=#=" %%a in ('set #%%h')do (
  21.       set "b.=      %%b"
  22.       set/p "=  %%a 有!b.:~-3!"
  23.       if !n! neq 9 set/p "i=, "
  24.       set/a n+=1
  25.    )
  26.    echo\
  27. ))<nul>2.txt
  28. endlocal<nul 4<con
  29. pause
复制代码
 楼主| 发表于 2012-9-26 18:14:59 | 显示全部楼层
谢谢各位,问题已经有人帮解决了,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 16:57 , Processed in 0.014855 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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