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

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

[复制链接]
发表于 2012-11-13 09:50:49 | 显示全部楼层 |阅读模式
有两个文本如下(实际中并不知道两文本各有多少行):

文本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
复制代码
 楼主| 发表于 2012-11-13 10:54:13 | 显示全部楼层
我知道了。。。粗心大意了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 19:04 , Processed in 0.018374 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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