|
是这样的,我有一个记录文档,比如名称为 SearchNet.txt,里面内容如下:
里面的全是数字,最小值为 1,最大值为 255,我现在要做一个批处理,使我能够分析这个 SearchNet.TXT 中从 1 到 255 的每一个数字出现的次数,出现次数为 0 的,当然不要统计啦。要求得到的统计文档格式如下:
Counter.txt
- 2 2
- 3 1
- 4 3
- 5 7
- 7 5
- 8 1
- 9 4
- 10 2
- 11 5
- ...
复制代码 为此,我自己也写了个批处理,但是个人感觉执行效率不够高,才 400 多个数据,分析一下居然消耗了整整 100 秒时间(我的机器为 PIII 800MHz + 256MB PC133 SDRAM),请高手帮我优化一下,谢谢!
Counter.CMD
- @echo off
- SETLOCAL ENABLEDELAYEDEXPANSION
- set tmpfile=search.tmp
- set resultfile=counter.txt
- if exist %tmpfile% del %tmpfile% /q
- if exist %resultfile% del %resultfile% /q
- for /f %%i in ('type SearchNET.TXT') do echo a%%ia>>%tmpfile%
- for /l %%i in (1,1,255) do (
- for /f "tokens=2* delims=::" %%I in ('find /c ^"a%%ia^" %tmpfile%^|find /v ^": 0^"') do (
- set /p="%%i%%I">>%resultfile%<nul
- echo.>>%resultfile%
- )
- )
- REM del %tmpfile%
- ENDLOCAL
复制代码 |
|