中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助!! 怎么样把一个文本内的多行拼接成一行
« [1] [2] »
作者:
标题: 求助!! 怎么样把一个文本内的多行拼接成一行 上一主题 | 下一主题
dy2003310
初级用户





积分 180
发帖 68
注册 2006-12-21
来自 China
状态 离线
『第 16 楼』:  请教楼上各位兄弟

合并了1000或更多行以后,怎样将它们变成原来一行行的样子??
for /f "delims=;????"  %i in (合并后.txt) do echo ????? >新的.txt
?????

2007-2-4 02:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jmz573515
银牌会员




积分 1212
发帖 464
注册 2006-12-13
状态 离线
『第 17 楼』:  

16楼的兄弟,用VBS写的,请确保源文件中没有“;”符号。
set fso=createobject("scripting.filesystemobject")
set file=fso.opentextfile("b.txt")
s=file.readall
file.close
set file=fso.createtextfile("c.txt")
file.write replace(s,";",vbcrlf)
file.close
msgbox "还原成功",4096


2007-2-4 03:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dy2003310
初级用户





积分 180
发帖 68
注册 2006-12-21
来自 China
状态 离线
『第 18 楼』:  谢谢jmz573515

先谢谢兄弟了
可痛苦的是我按上面各路高手合并后得到的恰恰有";"

2007-2-4 08:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dy2003310
初级用户





积分 180
发帖 68
注册 2006-12-21
来自 China
状态 离线
『第 19 楼』:  噢,我搞错了,jmz573515兄,我刚才有点误解了你的意思

噢,
我搞错了,
jmz573515兄,
我刚才有点误解了你的意思
现在我按你的做法收到了如意的效果
再次谢谢

2007-2-4 08:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
amao
中级用户





积分 316
发帖 152
注册 2006-6-18
状态 离线
『第 20 楼』:  

sed "s/ ;/\n/g" 合并成一行的.txt> 输出结果单行的.txt

2007-2-4 17:33
查看资料  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 21 楼』:  



  Quote:
Originally posted by amao at 2007-2-4 17:33:
sed "s/ ;/\n/g" 合并成一行的.txt> 输出结果单行的.txt

看不出是怎么实现的

2007-2-4 18:02
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
amao
中级用户





积分 316
发帖 152
注册 2006-6-18
状态 离线
『第 22 楼』:  



  Quote:
Originally posted by vkill at 2007-2-4 18:02:

看不出是怎么实现的

你把我前面合并的和这个拆分的执行一下就知道了。

2007-2-4 21:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复
dy2003310
初级用户





积分 180
发帖 68
注册 2006-12-21
来自 China
状态 离线
『第 23 楼』:  amao兄



  Quote:
Originally posted by amao at 2007-2-4 04:33 AM:
sed "s/ ;/\n/g" 合并成一行的.txt> 输出结果单行的.txt

amao兄,怎么我的cmd说"sed"不是内外部命令呀??
暂时看不到希望的结果

请问amao兄的语句是保存成什么文件来执行的??

2007-2-5 00:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
amao
中级用户





积分 316
发帖 152
注册 2006-6-18
状态 离线
『第 24 楼』:  

RE  dy2003310

sed 不是xp的内部命令

请搜索相关帖子,关键字sed

把语句保存成.bat批处理即可执行,当然要把 “合并成一行的.txt, 输出结果单行的.txt ”等改成相应的名字

2007-2-5 02:24
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lbqldos
新手上路





积分 16
发帖 7
注册 2007-2-2
状态 离线
『第 25 楼』:  



  Quote:
Originally posted by 3742668 at 2006-7-19 09:39 AM:
在批处理的实际应用中,建议不要使用太多的变量。
[code]
for /f "delims=" %i in (源文件.txt) do @set /p "var=%i;" <nul >>目标文件.txt
[/co ...

用 set/p “变量=显示内容”<nul 代替echo 显示内容,输出不自动换行,精彩,想不到set还可以这样用:D

[ Last edited by lbqldos on 2007-2-4 at 02:43 PM ]

2007-2-5 03:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dy2003310
初级用户





积分 180
发帖 68
注册 2006-12-21
来自 China
状态 离线
『第 26 楼』:  谢谢 amao兄

谢谢 amao兄
正在学习

2007-2-7 07:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: