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

[文本处理] 批处理怎样将文本添加到文本的每一行后?

[复制链接]
发表于 2008-8-5 20:58:21 | 显示全部楼层 |阅读模式
我想完成这样的事情:
我有两份文件:
第一份是: AAA               

                  BBB        
                  ……           ……
第二份是:①①①
                 ②②②         

                 ……           ……

现在我想将第二份添加到第一份的文件去,变成:
AAA    ①①①

BBB   ②②②

第一行对应第一行,第二行对应第二行,可以吗?

(上述文件文字为随意英文、中文或数字,不是序号之类的,只论排列,中间空格随意,最好可以按要求更改。)
发表于 2008-8-5 21:05:35 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion&set n=-1
  2. for /f "delims=" %%a in (1.txt) do (
  3. set/a n+=1
  4. set flag=
  5. call :lp %%a
  6. if not defined flag echo %%a
  7. )
  8. :lp
  9. if "%1" equ "" set/a n+=1
  10. set m=skip=%n%
  11. if "%m%" equ "skip=0" set "m="
  12. for /f "%m% delims=" %%a in (2.txt) do if "%1" neq "" (echo %1         %%a&set flag=a&goto :eof) else echo %%a
  13. if "%1" equ "" pause
复制代码
搜索一下"练习"。。。 你的问题就可以不用提了。

[ 本帖最后由 pusofalse 于 2008-8-5 22:49 编辑 ]
发表于 2008-8-5 21:13:11 | 显示全部楼层
  1. paste a.txt b.txt>c.txt
复制代码
http://unxutils.sourceforge.net/
 楼主| 发表于 2008-8-5 22:11:28 | 显示全部楼层
2楼的可不可以输出为3.txt呢?
3楼的不行嘢,是不是代码错了?

[ 本帖最后由 Wingl83 于 2008-8-5 22:19 编辑 ]
发表于 2008-8-5 22:21:19 | 显示全部楼层
如两文本行是一样:
  1. @echo off
  2. set "n=-1"
  3. :lp
  4. set /a n+=1
  5. if %n% equ 0 (set "k=") else (set "k=skip=%n%")
  6. for /f "%k% delims=" %%i in (1.txt) do set /p=%%i <nul>>3.txt&goto next
  7. :next
  8. for /f "%k% delims=" %%i in (2.txt) do set /p=%%i<nul>>3.txt&echo.>>3.txt&goto lp
  9. start 3.txt
复制代码

[ 本帖最后由 batman 于 2008-8-5 22:25 编辑 ]
发表于 2008-8-5 22:24:56 | 显示全部楼层
把上面的代码存为a.bat 然后打开cmd 输入a>3.txt
ok
发表于 2008-8-5 22:25:42 | 显示全部楼层
原帖由 Wingl83 于 2008-8-5 22:11 发表
2楼的可不可以输出为3.txt呢?
3楼的不行嘢,是不是代码错了?

是将next打成nest了,已修正。
 楼主| 发表于 2008-8-5 22:26:03 | 显示全部楼层
谢谢你们……
发表于 2008-8-5 22:26:53 | 显示全部楼层

回复 4楼 的帖子

Q: 为什么不行啊?
A: 去电线杆上找个老军医的手机,他是专治+包治这个的。如果治疗周期较长,建议列出你的测试环境、测试用例、出错信息,供大家帮助你解决问题。
 楼主| 发表于 2008-8-5 22:30:36 | 显示全部楼层
原帖由 pusofalse 于 2008-8-5 22:24 发表
把上面的代码存为a.bat 然后打开cmd 输入a>3.txt
ok
 楼主| 发表于 2008-8-5 22:32:54 | 显示全部楼层
原帖由 Batcher 于 2008-8-5 22:26 发表
Q: 为什么不行啊?
A: 去电线杆上找个老军医的手机,他是专治+包治这个的。如果治疗周期较长,建议列出你的测试环境、测试用例、出错信息,供大家帮助你解决问题。


晕倒中……
发表于 2008-8-5 22:38:27 | 显示全部楼层
原帖由 Wingl83 于 2008-8-5 22:30 发表


193


你放哪个目录呢。。。CD 命令进入存放a.bat的目录,a>3.txt 就OK了~
比如你放C盘里,打开cmd
依次输入。。
cd /d c:\
a>3.txt
 楼主| 发表于 2008-8-5 22:44:06 | 显示全部楼层
原帖由 pusofalse 于 2008-8-5 22:38 发表


你放哪个目录呢。。。CD 命令进入存放a.bat的目录,a>3.txt 就OK了~
比如你放C盘里,打开cmd
依次输入。。
cd /d c:\
a>3.txt


谢谢你啊,可以了,不知可不可以将“>>3.txt”加近代码里呢?
发表于 2008-8-5 22:45:44 | 显示全部楼层
要在代码中好多处添加,麻烦,所以就直接这样了。
 楼主| 发表于 2008-8-5 22:46:00 | 显示全部楼层
2楼、5楼中,中间的空格为1个,若我想加多几个空格,应该怎样改呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 08:23 , Processed in 0.022758 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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