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

[文本处理] 如何用批处理计算出文本中列出的多行数字的平均值?

本帖最后由 pcl_test 于 2016-11-26 02:29 编辑

我有一个文本内容如下:1.txt
内容为:
6.54823
7.35468
6.12351
2.13214
如何用批处理把这些行的数值相加再除4也就是算出它的平均值,文本不一定是四行,也就是说文本生成的行不一定相同,不管有几行,只要运行批处理就自动算出里面的平均值,非常感情

本帖最后由 wc726842270 于 2011-3-20 09:37 编辑

仅针对此题,通用性并不强
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f %%i in (1.txt) do set a=%%i&&echo !a:.=! >>TEMP.txt
  3. for /f %%i in (temp.txt) do set /a n+=%%i
  4. set /a a=%n%/4,b=%n%%%4*25
  5. if %b% equ 0 set b=
  6. echo 平均数为%a:~0,-5%.%a:~-5%%b%
  7. del temp.txt
  8. pause
复制代码
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

这个计算有错误哦?请帮忙改下,我反复换了好几组数运算出来有时不对,刚才我输入了这个数值
14.523
12
13.56
运行你的批处理结果和计算器里算出的结果不一样

TOP

P处理不支持小数运算,所以没有规律,不建议用P(准确来说应该是不识别小数点)
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

嗯,还是很感谢,那能问你,可以把每一行输入到一个新的文本里嘛?每一行一个文本,文本名为文本所在的行数

TOP

for /f "tokens=1* delims=:" %%a in ('findstr /n 1.txt') do echo>%%a.txt %%b

TOP

返回列表