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

[文本处理] [已解决]批处理怎样把文本中每一行指定列的数字分别相加并输出到原文档?

[复制链接]
发表于 2015-11-25 00:23:10 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-11-16 19:22 编辑

一个txt文件有多行,需要 每行的第32 34 36 38 40  42 个数字分别相加(如 第一行的第31个数字 与第2行、第三行...的第31个数字相加),并把结果输出到文档第一行。
求哪位大侠帮忙,万分感谢!

每行内容都是这样的  192.168.1.11 2015/11/23 21:34  1 2 1 7 0 4
字符是一样多的
发表于 2015-11-25 00:30:11 | 显示全部楼层
文件类型不知道,数据长度不知道,不是打飞机太难,是飞机都不见怎么打?
发表于 2015-11-25 00:30:30 | 显示全部楼层
传文件上网盘。
 楼主| 发表于 2015-11-25 00:47:36 | 显示全部楼层
回复 2# 依山居


    已修改 多谢关注!
发表于 2015-11-25 01:25:29 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in (a.txt) do (
  3.     set str=%%i
  4.     set "str=!str:~-12!"
  5.     set "str=!str: =!"
  6.     for /l %%j in (0,1,5) do set /a "$%%j+=!str:~%%j,1!"
  7. )

  8. for /l %%i in (0,1,5) do set "s=!s! !$%%i!"
  9. >b.txt echo!s!
  10. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
zrf0123 + 1 谢谢!

查看全部评分

发表于 2015-11-25 05:09:30 | 显示全部楼层
文件按列切分后,可以看成一个二维数组~
发表于 2015-11-25 09:56:57 | 显示全部楼层
  1. @echo off
  2. gawk "{a+=$4;b+=$5;c+=$6;d+=$7;e+=$8;f+=$9}END{print a,b,c,d,e,f}" 1.txt > 2.txt
  3. type 1.txt >> 2.txt
  4. move /y 2.txt 1.txt
复制代码
发表于 2015-11-25 10:00:46 | 显示全部楼层
  1. @echo off
  2. for /f "tokens=4-9" %%i in ('type "1.txt"') do (
  3.     set /a a+=%%i
  4.     set /a b+=%%j
  5.     set /a c+=%%k
  6.     set /a d+=%%l
  7.     set /a e+=%%m
  8.     set /a f+=%%n
  9. )
  10. > 2.txt echo %a% %b% %c% %d% %e% %f%
  11. >> 2.txt type 1.txt
  12. move /y 2.txt 1.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
zrf0123 + 1 可以,谢谢!

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 16:30 , Processed in 0.020984 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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