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

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

一个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

真诚希望热心的大师们出手相助。
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

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

TOP

好麻烦的说
  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
复制代码
1

评分人数

    • 思想之翼: 完美解决问题,运行速度快。技术 + 1

TOP

返回列表