Board logo

标题: [文本处理] 一行一个数据,批处理怎样自动求和? [打印本页]

作者: txdong107    时间: 4 天前 10:58     标题: 一行一个数据,批处理怎样自动求和?

一行一个数据,自动求和
01、5
02、5
03、5
04、5
05、5
06、5
07、5
08、5
09、5
10、5
11、5
12、5
13、5
14、5
15、5
16、5
17、-5
共、17个数据。合计    XXX        

如果想写一个这样的批处理  能成吗?
作者: Batcher    时间: 4 天前 22:44

回复 1# txdong107


数据是在txt文件里面吗?请把文件打包压缩上传到网盘,我试试。

如果需要上传截图,可以找个图床,例如:
http://bbs.bathome.net/thread-60985-1-1.html
作者: qixiaobin0715    时间: 3 天前 08:11

本帖最后由 qixiaobin0715 于 2024-12-25 08:44 编辑

如果只是要结果,直接复制到Excel,简洁快速。
https://baijiahao.baidu.com/s?id=1750699500030051935
如果每行不带序号:
  1. @echo off
  2. for /f "delims=" %%i in (1.txt) do set /a n+=%%i
  3. echo,%n%
  4. pause
复制代码
带序号(批处理文件需保存为ANSI编码):
  1. @echo off
  2. for /f "tokens=2 delims=、" %%i in (1.txt) do set /a n+=%%i
  3. echo,%n%
  4. pause
复制代码

作者: aloha20200628    时间: 3 天前 10:44

本帖最后由 aloha20200628 于 2024-12-25 12:11 编辑

回复 1# txdong107

若一楼示例数据包含小数位(浮点数),可用以下代码...
  1. @echo off &setlocal &for /f %%v in (
  2.    'powershell "$v=0;gc '1.txt'|%%{$v+=($_ -replace '^\d+、')};$v" '
  3. ) do set "v=%%v"
  4. echo,%v%&pause&exit/b
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2