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

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

[复制链接]
发表于 2011-3-20 09:07:19 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-11-26 02:29 编辑

我有一个文本内容如下:1.txt
内容为:
6.54823
7.35468
6.12351
2.13214
如何用批处理把这些行的数值相加再除4也就是算出它的平均值,文本不一定是四行,也就是说文本生成的行不一定相同,不管有几行,只要运行批处理就自动算出里面的平均值,非常感情
发表于 2011-3-20 09:30:15 | 显示全部楼层
本帖最后由 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
复制代码
 楼主| 发表于 2011-3-20 09:54:24 | 显示全部楼层
这个计算有错误哦?请帮忙改下,我反复换了好几组数运算出来有时不对,刚才我输入了这个数值
14.523
12
13.56
运行你的批处理结果和计算器里算出的结果不一样
发表于 2011-3-20 10:17:30 | 显示全部楼层
P处理不支持小数运算,所以没有规律,不建议用P(准确来说应该是不识别小数点)
 楼主| 发表于 2011-3-20 10:23:50 | 显示全部楼层
嗯,还是很感谢,那能问你,可以把每一行输入到一个新的文本里嘛?每一行一个文本,文本名为文本所在的行数
发表于 2011-3-20 10:40:55 | 显示全部楼层
for /f "tokens=1* delims=:" %%a in ('findstr /n 1.txt') do echo>%%a.txt %%b
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 12:21 , Processed in 0.026653 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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