写个批处理,读取某个文件的N行,第N个字符。
写个批处理,读取某个文件的N行,第N个字符。例如:读取C:\log.txtlog.txt的内容为abcdefg123ssssabcdefg456ssssabcdefg78...
写个批处理,读取某个文件的N行,第N个字符。
例如: 读取C:\ log.txt
log.txt的内容为
abcd efg 123 ssss
abcd efg 456ssss
abcd efg 789ssss
我只获取里面的 123 456 789 然后这3个数字相加,并求平均值,并以log2.txt保存在C盘。数字不定长度,可能是1000000,也可能是10000,
数字之后的都为
123 sss
234 sss
456 sss
都是空格加SSS
请教高手解决问题。 展开
例如: 读取C:\ log.txt
log.txt的内容为
abcd efg 123 ssss
abcd efg 456ssss
abcd efg 789ssss
我只获取里面的 123 456 789 然后这3个数字相加,并求平均值,并以log2.txt保存在C盘。数字不定长度,可能是1000000,也可能是10000,
数字之后的都为
123 sss
234 sss
456 sss
都是空格加SSS
请教高手解决问题。 展开
展开全部
@echo off
setlocal ENABLEDELAYEDEXPANSION
set /a counts=0
set /a t=0
set /a ave=0
for /f "tokens=3" %%i in (c:\log.txt) do (
set /a t=!t!+%%i
set /a counts=!counts!+1
set /a ave=!t!/!counts!
echo 总和=!t! 行数=!counts! 平均数=!ave!
)
echo !ave!>>c:\log2.txt
pause
以上代码实计读取并显示log.txt中各行的第三列数字之累计和,行数,累计平均数,并将最后的平均数追加到log2.txt
缺点:对数字小数点精度未测试.楼主可亲测
最后的平均数是取的整数,没有保留小数(如需要,还可以改进)
setlocal ENABLEDELAYEDEXPANSION
set /a counts=0
set /a t=0
set /a ave=0
for /f "tokens=3" %%i in (c:\log.txt) do (
set /a t=!t!+%%i
set /a counts=!counts!+1
set /a ave=!t!/!counts!
echo 总和=!t! 行数=!counts! 平均数=!ave!
)
echo !ave!>>c:\log2.txt
pause
以上代码实计读取并显示log.txt中各行的第三列数字之累计和,行数,累计平均数,并将最后的平均数追加到log2.txt
缺点:对数字小数点精度未测试.楼主可亲测
最后的平均数是取的整数,没有保留小数(如需要,还可以改进)
更多追问追答
追问
我要有小数点的。
就是 11.11
22.22
33.33
追答
@echo off
setlocal ENABLEDELAYEDEXPANSION
set /a counts=0
set /a t=0
set /a ave=0
set /a tail=0
for /f "tokens=3" %%i in (c:\log.txt) do (
set /a t=!t!+%%i
set /a counts=!counts!+1
set /a ave=!t!/!counts!
set /a tail=!t!%!counts!
echo 总和=!t! 次数=!counts! 平均数=!ave!.!tail:~0,2!
)
echo !ave!.!tail:~0,2!>>c:\log2.txt
pause
以上代码实现平均值保留两位小数
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询