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

[文本处理] 如何按指定行数交替输出两个文本文件的行内容?

本帖最后由 pcl_test 于 2015-12-2 10:28 编辑

一个关于文本的操作,求助大神!
需求是这样的
共有两个文本1和2,1和2中都有很多行文字!
现在需要做一个批处理实现以下功能

提取文本1中的1-10行到文本3.同时提取文本2中的第1行插入到文本3的第三行
然后循环提取文本1中的11-20行到文本4.同时提取文本2中的第2行插入到文本4的第三行
继续循环提取文本1中的21-30行到文本5.同时提取文本2中的第3行插入到文本5的第三行

非常感谢各位大神
之前有个小需求,求助了群里的一个大神给解决了,也是关于文本1和2的问题,我在二楼把那个案例发出来吧
1

评分人数

    • pcl_test: 勿发笼统、无意义的标题PB -2

之前的需求是:
共有两个文本1和2,1和2中都有很多行文字!
批处理实现以下功能
提取文本1中的第1行到文本3的第一行,同时提取文本2中的第1-10行插入到文本3的第2-11行
然后循环提取文本1中的第2行到文本4的第一行.同时提取文本2中的第11-20行插入到文本4的第2-11行
继续循环提取文本1中的第3行到文本5的第一行.同时提取文本2中的第21-30行插入到文本5的第2-11行

以上这个功能已经实现了,把代码发给大家学习下!
同时感谢各位大神,特别感谢给我这个批处理的大神!
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /l %%a in (1,1,2500) do set /p k%%a=)<2.txt
  3. set n=3
  4. for /l %%a in (1,1,10) do set _%%a=%%a
  5. for /f "delims=" %%a in (1.txt) do (
  6.     >>!n!.txt echo;%%a
  7.     for /l %%b in (1,1,10) do for %%c in (!_%%b!) do >>!n!.txt echo;!k%%c!
  8.     for /l %%d in (1,1,10) do set /a _%%d+=10
  9.     set /a n+=1
  10. )
  11. pause
复制代码

TOP

  1. @echo off & setlocal enabledelayedexpansion
  2. set n=2
  3. for /f "delims=" %%i in (2.txt) do set /a n+=1&set "_!n!=%%i"
  4. set n=-1
  5. for /f "delims=" %%i in (1.txt) do (
  6.     set /a n+=1, m=n%%10, o=n/10+3
  7.     if !m!==2 for %%j in (!o!) do echo;!_%%j!>>!o!.txt
  8.     echo;%%i>>!o!.txt
  9. )
  10. pause
复制代码

TOP

回复 3# WHY
感谢大神,但是你的这个批处理好像有问题,实现不了

TOP

用下面的代码生成 1.txt、2.txt 进行测试,如果测试结果不是你想要的,那就是你描述有问题。
  1. @echo off
  2. (for /l %%i in (1,1,200) do echo;AAA %%i)>1.txt
  3. (for /l %%i in (1,1,20) do echo;BBB %%i)>2.txt
复制代码

TOP

回复 5# WHY
大神,感谢大神,没有问题!实现了!太感谢了!

TOP

不是大神,也讨厌这种称呼
如果你觉得有用,那就给加点分数比较实在点
1

评分人数

TOP

小号换着来问啊。
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

返回列表