中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-27 14:47
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助!! 怎么样把一个文本内的多行拼接成一行 查看 3,398 回复 25
16 请教楼上各位兄弟 发表于 2007-02-04 02:09 ·  中国 广东 广州 荔湾区 电信
初级用户
★★
积分 180
发帖 68
注册 2006-12-21 23:44
19年会员
UID 74192
性别 男
来自 China
状态 离线
合并了1000或更多行以后,怎样将它们变成原来一行行的样子??
for /f "delims=;????" %i in (合并后.txt) do echo ????? >新的.txt
?????
17 发表于 2007-02-04 03:35 ·  中国 辽宁 本溪 联通
银牌会员
★★★
积分 1,212
发帖 464
注册 2006-12-13 21:11
19年会员
UID 73417
性别 男
状态 离线
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
18 谢谢jmz573515 发表于 2007-02-04 08:34 ·  中国 广东 广州 荔湾区 电信
初级用户
★★
积分 180
发帖 68
注册 2006-12-21 23:44
19年会员
UID 74192
性别 男
来自 China
状态 离线
先谢谢兄弟了
可痛苦的是我按上面各路高手合并后得到的恰恰有";"
19 噢,我搞错了,jmz573515兄,我刚才有点误解了你的意思 发表于 2007-02-04 08:51 ·  中国 广东 广州 荔湾区 电信
初级用户
★★
积分 180
发帖 68
注册 2006-12-21 23:44
19年会员
UID 74192
性别 男
来自 China
状态 离线
噢,
我搞错了,
jmz573515兄,
我刚才有点误解了你的意思
现在我按你的做法收到了如意的效果
再次谢谢
20 发表于 2007-02-04 17:33 ·  美国 缅因州
中级用户
★★
积分 316
发帖 152
注册 2006-06-18 13:01
20年会员
UID 57204
性别 男
状态 离线
sed "s/ ;/\n/g" 合并成一行的.txt> 输出结果单行的.txt
21 发表于 2007-02-04 18:02 ·  中国 甘肃 兰州 城关区 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
20年会员
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
Originally posted by amao at 2007-2-4 17:33:
sed "s/ ;/\n/g" 合并成一行的.txt> 输出结果单行的.txt

看不出是怎么实现的
22 发表于 2007-02-04 21:58 ·  美国 缅因州
中级用户
★★
积分 316
发帖 152
注册 2006-06-18 13:01
20年会员
UID 57204
性别 男
状态 离线
Originally posted by vkill at 2007-2-4 18:02:

看不出是怎么实现的


你把我前面合并的和这个拆分的执行一下就知道了。
23 amao兄 发表于 2007-02-05 00:59 ·  中国 广东 广州 荔湾区 电信
初级用户
★★
积分 180
发帖 68
注册 2006-12-21 23:44
19年会员
UID 74192
性别 男
来自 China
状态 离线
Originally posted by amao at 2007-2-4 04:33 AM:
sed "s/ ;/\n/g" 合并成一行的.txt> 输出结果单行的.txt


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

请问amao兄的语句是保存成什么文件来执行的??
24 发表于 2007-02-05 02:24 ·  美国 缅因州
中级用户
★★
积分 316
发帖 152
注册 2006-06-18 13:01
20年会员
UID 57204
性别 男
状态 离线
RE dy2003310

sed 不是xp的内部命令

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

把语句保存成.bat批处理即可执行,当然要把 “合并成一行的.txt, 输出结果单行的.txt ”等改成相应的名字
25 发表于 2007-02-05 03:41 ·  中国 湖北 武汉 电信
新手上路
积分 16
发帖 7
注册 2007-02-02 06:14
19年会员
UID 78397
性别 男
状态 离线
Originally posted by 3742668 at 2006-7-19 09:39 AM:
在批处理的实际应用中,建议不要使用太多的变量。

for /f "delims=" %i in (源文件.txt) do @set /p "var=%i;" <nul >>目标文件.txt

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

[ Last edited by lbqldos on 2007-2-4 at 02:43 PM ]
26 谢谢 amao兄 发表于 2007-02-07 07:12 ·  中国 广东 广州 荔湾区 电信
初级用户
★★
积分 180
发帖 68
注册 2006-12-21 23:44
19年会员
UID 74192
性别 男
来自 China
状态 离线
谢谢 amao兄
正在学习
论坛跳转: