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

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

[复制链接]
发表于 2012-9-1 23:24:29 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-7-7 22:29 编辑

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

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


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

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


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

每三行排成一列行,并用 “,” 作为分隔符
发表于 2012-9-2 12:03:36 | 显示全部楼层
  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
复制代码

评分

参与人数 1技术 +1 收起 理由
Rasm + 1 感谢,下次最好能导出到新文本

查看全部评分

发表于 2012-9-2 14:54:53 | 显示全部楼层
  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
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 06:35 , Processed in 0.031820 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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