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

[文本处理] [已解决]论坛50题文本交替输出我写的BAT代码走不通

有两个文本如下(实际中并不知道两文本各有多少行):

文本1.txt

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
ccccccccccccccccccccccccccccccccccccccc
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
ggggggggggggggggggggggggggggggggggggggg
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

文本2.txt

hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn

要求用批处理输出如下(两文本交替输出):

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
ccccccccccccccccccccccccccccccccccccccc
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
ggggggggggggggggggggggggggggggggggggggg
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

要求:
1 尽量不生成临时文件
2 代码要高效
3 代码尽量简洁
目的:
唯一的目的在于共同提高!
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set l=1
  4. for /f "tokens=* delims=" %%i in (1.txt) do (
  5. set t!l!=%%i
  6. set /a l+=2
  7. )
  8. set l=2
  9. for /f "tokens=* delims=" %%k in (2.txt) do (
  10. set t!l!=%%k
  11. set /a l+=2
  12. )
  13. set l=1
  14. :write
  15. if "!t%l%!"=="" (
  16. set l+=1
  17. )
  18. if not "!t%l%!"=="" (
  19. echo !t%l%!
  20. set /a l+=1
  21. goto write
  22. )
复制代码
如果1.txt的行数多于2.txt 则不能全部显示。
1.txt:
  1. 1111111111111111111111111111111111
  2. 3333333333333333333333333333333333
  3. 5555555555555555555555555555555555
  4. 7777777777777777777777777777777777
  5. 9999999999999999999999999999999999
  6. aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  7. bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
复制代码
2.txt
  1. 22222222222222222222222222222
  2. 44444444444444444444444444444
  3. 66666666666666666666666666666
  4. 88888888888888888888888888888
复制代码

我知道了。。。粗心大意了

TOP

返回列表