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

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

我想完成这样的事情:
我有两份文件:
第一份是: AAA               

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

                 ……           ……

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

BBB   ②②②

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

(上述文件文字为随意英文、中文或数字,不是序号之类的,只论排列,中间空格随意,最好可以按要求更改。)

  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 编辑 ]
心绪平和,眼藏静谧。

TOP

  1. paste a.txt b.txt>c.txt
复制代码
http://unxutils.sourceforge.net/

TOP

2楼的可不可以输出为3.txt呢?
3楼的不行嘢,是不是代码错了?

[ 本帖最后由 Wingl83 于 2008-8-5 22:19 编辑 ]

TOP

如两文本行是一样:
  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 编辑 ]
***共同提高***

TOP

把上面的代码存为a.bat 然后打开cmd 输入a>3.txt
ok
心绪平和,眼藏静谧。

TOP

原帖由 Wingl83 于 2008-8-5 22:11 发表
2楼的可不可以输出为3.txt呢?
3楼的不行嘢,是不是代码错了?

是将next打成nest了,已修正。
***共同提高***

TOP

谢谢你们……

TOP

回复 4楼 的帖子

Q: 为什么不行啊?
A: 去电线杆上找个老军医的手机,他是专治+包治这个的。如果治疗周期较长,建议列出你的测试环境、测试用例、出错信息,供大家帮助你解决问题。

TOP

原帖由 pusofalse 于 2008-8-5 22:24 发表
把上面的代码存为a.bat 然后打开cmd 输入a>3.txt
ok

TOP

原帖由 Batcher 于 2008-8-5 22:26 发表
Q: 为什么不行啊?
A: 去电线杆上找个老军医的手机,他是专治+包治这个的。如果治疗周期较长,建议列出你的测试环境、测试用例、出错信息,供大家帮助你解决问题。


晕倒中……

TOP

原帖由 Wingl83 于 2008-8-5 22:30 发表


193


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

TOP

原帖由 pusofalse 于 2008-8-5 22:38 发表


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


谢谢你啊,可以了,不知可不可以将“>>3.txt”加近代码里呢?
我是小菜菜……

TOP

要在代码中好多处添加,麻烦,所以就直接这样了。
心绪平和,眼藏静谧。

TOP

2楼、5楼中,中间的空格为1个,若我想加多几个空格,应该怎样改呢?
我是小菜菜……

TOP

返回列表