标题: [文本处理] 如何用批处理计算出文本中列出的多行数字的平均值? [打印本页]
作者: kui198677 时间: 2011-3-20 09:07 标题: 如何用批处理计算出文本中列出的多行数字的平均值?
本帖最后由 pcl_test 于 2016-11-26 02:29 编辑
我有一个文本内容如下:1.txt
内容为:
6.54823
7.35468
6.12351
2.13214
如何用批处理把这些行的数值相加再除4也就是算出它的平均值,文本不一定是四行,也就是说文本生成的行不一定相同,不管有几行,只要运行批处理就自动算出里面的平均值,非常感情
作者: wc726842270 时间: 2011-3-20 09:30
本帖最后由 wc726842270 于 2011-3-20 09:37 编辑
仅针对此题,通用性并不强- @echo off&setlocal enabledelayedexpansion
- for /f %%i in (1.txt) do set a=%%i&&echo !a:.=! >>TEMP.txt
- for /f %%i in (temp.txt) do set /a n+=%%i
- set /a a=%n%/4,b=%n%%%4*25
- if %b% equ 0 set b=
- echo 平均数为%a:~0,-5%.%a:~-5%%b%
- del temp.txt
- pause
复制代码
作者: kui198677 时间: 2011-3-20 09:54
这个计算有错误哦?请帮忙改下,我反复换了好几组数运算出来有时不对,刚才我输入了这个数值
14.523
12
13.56
运行你的批处理结果和计算器里算出的结果不一样
作者: wc726842270 时间: 2011-3-20 10:17
P处理不支持小数运算,所以没有规律,不建议用P(准确来说应该是不识别小数点)
作者: kui198677 时间: 2011-3-20 10:23
嗯,还是很感谢,那能问你,可以把每一行输入到一个新的文本里嘛?每一行一个文本,文本名为文本所在的行数
作者: CrLf 时间: 2011-3-20 10:40
for /f "tokens=1* delims=:" %%a in ('findstr /n 1.txt') do echo>%%a.txt %%b
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |