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

[文本处理] 求助批处理对文件中的不同行加不同数字

假设有a.txt文本如下

54
78
48
25
35
最大数字不超过六十,后加的数字不超9。
我想要第一行数字加7,第二行加8,第三行加9,第四行加7如此重复循环,简单加法我会,可这个我就不会了,希望哪位高人指点一下,给个代码学习学习。

好,完成一步,那下一步呢,不同行加不同数字,都加7了,那下一行怎么办呢 ?

在说一下,这个只是取一部分,并不只有五行,整个文件不确定究竟有多少行,希望有人给个答案!
多谢,基本懂了,可还有问题,如果后加的数为无规律个位数怎么办呢?

[ 本帖最后由 xeqxerxes 于 2009-4-1 13:18 编辑 ]

  1. @echo Off & SetLocal EnableDelayedExpansion
  2. Set /a n = 0, m= 0
  3. For /f "delims=" %%a in (a.txt) do (
  4.         Set /a n = m %% 3 + 7, m += 1
  5.         Echo !n! %%a
  6. )
  7. Pause
复制代码
心绪平和,眼藏静谧。

TOP

- -,看错题意,楼主的意思是:第一行054,加7后变为 61或51?这样的?而非在每行前加7、8、9.。。?若是,那么楼主提供的数据并不能达到如此的结果。因为054这样的数字(开头是0)会被认为是8进制,而其中的093却是一个无效的数字,还请更新好数据~
心绪平和,眼藏静谧。

TOP

回复 4楼 的帖子

pusofalse 呢?
在线等的很辛苦啊

TOP

  1. @echo Off & SetLocal EnableDelayedExpansion
  2. Set /a n=0, m=n, x=n
  3. For /f "delims=" %%a in (a.txt) do (
  4.      Set /a n=m%%3 + 7, m+=1, x =%%a+n
  5.      Echo %%a + !n! = !x!
  6. )
  7. Pause
复制代码

[ 本帖最后由 pusofalse 于 2009-4-1 11:57 编辑 ]
心绪平和,眼藏静谧。

TOP

回复 3楼、5楼 的帖子

请把所有的要求全部更新到顶楼
否则这个帖子将会被关闭
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

这个本人已经自己完成了,但有些罗嗦,希望有人看到时能给改一下吧
  1. @echo off
  2. SetLocal EnableDelayedExpansion
  3. set /a q=1,w=2
  4. set /a line=0
  5. for /f %%i in (a.txt) do (set /a line=line+1)
  6. :agin
  7. For /f "skip=%q%" %%a in (a.txt) do (
  8.      Set /a a=%%a+x
  9. goto next1
  10. )
  11. :next1
  12. echo !a!>>b.txt
  13. for /f %%i in (b.txt) do (set /a lineo=lineo+1)
  14. if /i %lineo% == %line% goto exit
  15. For /f "skip=%w%" %%a in (a.txt) do (
  16.      Set /a b=%%a+y
  17. goto next2
  18. )
  19. :next2
  20. echo !b!>>b.txt
  21. for /f %%i in (b.txt) do (set /a lineo=lineo+1)
  22. if /i %lineo% == %line% goto exit
  23. set /a q=q+2, w=w+2
  24. goto agin
  25. :exit
  26. echo 已完成!
  27. pause
复制代码

TOP

返回列表