Board logo

标题: [文本处理] 批处理如何将txt文本的内容按指定行数合并成一行? [打印本页]

作者: Rasm    时间: 2012-9-1 23:24     标题: 批处理如何将txt文本的内容按指定行数合并成一行?

本帖最后由 pcl_test 于 2016-7-7 22:29 编辑

我有一个文本,他的内容如下:

1
好孩子
[email]haohaizi@qq.com[/email]
2
批处理
[email]pichuli@163.com[/email]
3
网易
[email]wangyi@126.com[/email]
4
搜狐
[email]sohu@hotmail.com[/email]


---------------------------------割

我现在想试图把这个文本的内容改为:


1,好孩子,[email]haohaizi@qq.com[/email]
2,批处理,[email]pichuli@163.com[/email]
3,网易,[email]wangyi@126.com[/email]
4,搜狐,[email]sohu@hotmail.com[/email]

每三行排成一列行,并用 “,” 作为分隔符
作者: apang    时间: 2012-9-2 12:03

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (1.txt) do (
  3.   set/a n+=1
  4.   set "str=!str!,%%a"
  5.   if !n! equ 3 echo,!str:~1!&set str=&set n=
  6. )
  7. pause
复制代码

作者: CrLf    时间: 2012-9-2 14:54

  1. @echo off
  2. (for /f %%a in (1.txt) do (
  3.    setlocal enabledelayedexpansion
  4.    set /p id=
  5.    set /p name=
  6.    set /p E-mail=
  7.    if defined id (
  8.       echo !id!,!name!,!E-mail!
  9.    ) else goto :end
  10.    endlocal
  11. ))>2.txt
  12. :end
  13. pause
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2