Board logo

标题: [文本处理] [已解决]批处理怎样重新组合文本指定行数,并在每一行前添加固定字符? [打印本页]

作者: 思想之翼    时间: 2012-7-9 01:25     标题: [已解决]批处理怎样重新组合文本指定行数,并在每一行前添加固定字符?

一个txt文本共有63行,每行记录为0-9的数值,数值间没有空格。现欲将这63行的txt文本,指定行数重新组合,拆分成3个文本,分别命名为123456、234567、17。

命名为123456的文本,行数组合为:01、02、03、04、05、07、08、09、10、12、13、14、16、17、19、22、23、24、25、26、28、29、30、31、33、34、35、37、38、40、43、44、45、46、47、49、50、51、52、54、55、56、58、59、61行 。

命名为234567的文本,行数组合为:07、08、09、10、11、12、13、14、15、16、17、18、19、20、21、28、29、30、31、32、33、34、35、36、37、38、39、40、41、42、49、50、51、52、53、54、55、56、57、58、59、60、61、62、63 行。

命名为17的文本,行数组合为:06、27、48 行。

另外,在拆分后的前2个文本里,每行前依次加上如下字符:
1+2=
1+3=
1+4=
1+5=
1+6=
2+3=
2+4=
2+5=
2+6=
3+4=
3+5=
3+6=
4+5=
4+6=
5+6=
1-2=
1-3=
1-4=
1-5=
1-6=
2-3=
2-4=
2-5=
2-6=
3-4=
3-5=
3-6=
4-5=
4-6=
5-6=
1*2=
1*3=
1*4=
1*5=
1*6=
2*3=
2*4=
2*5=
2*6=
3*4=
3*5=
3*6=
4*5=
4*6=
5*6=

在拆分的最后一个txt文本里,每行依次加上这样的字符:
1+2=
1-2=
1*2=

拿最后一个txt文本举例:拆分前
06行:123456
27行:569
48行:06789
拆分后  命名为17的txt文本:
1+2=123456
1-2=569
1*2=06789

真诚希望热心的大师们出手相助。
作者: apang    时间: 2012-7-9 10:39

好麻烦的说
  1. @echo off&md result 2>nul
  2. setlocal enabledelayedexpansion
  3. for /l %%a in (1 1 3) do (
  4.   for /l %%b in (6 -1 1) do set/a a=!a!+%%b&set .!a!=1
  5. )
  6. >"result\123456.txt" call :lp + - *
  7. endlocal&setlocal enabledelayedexpansion
  8. for /l %%a in (0 21 43) do (
  9.   for /l %%b in (1 1 6) do set/a a=%%a+%%b&set .!a!=1
  10. )
  11. >"result\234567.txt" call :lp + - *
  12. endlocal&setlocal enabledelayedexpansion
  13. (for /f "delims=" %%a in (a.txt) do (
  14.   set/a n+=1
  15.   if "!n!"=="6" echo,1+2=%%a
  16.   if "!n!"=="27" echo,1-2=%%a
  17.   if "!n!"=="48" echo,1*2=%%a
  18. ))>"result\17.txt"
  19. goto :eof
  20. :lp
  21. for /f "delims=" %%a in (a.txt) do (
  22.   set/a n+=1
  23.   if not defined .!n! set/a m+=1&set "_!m!=%%a"
  24. )
  25. :11
  26. for /l %%i in (1 1 6) do (
  27.   set/a n1=%%i+1
  28.   for /l %%j in (!n1! 1 6) do set/a i+=1&call echo,%%i%1%%j=%%_!i!%%
  29. )
  30. if not "%2"=="" shift&goto :11
复制代码

作者: 思想之翼    时间: 2012-7-9 13:34

谢谢!完美解决问题!运行速度快!赞一个!




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