楼 主
求助!! 怎么样把一个文本内的多行拼接成一行
发表于 2006-07-19 13:58 · 中国 上海 电信
高级用户
★★
积分 599 发帖 148 注册 2003-10-30 00:00 22年会员 UID 12192 性别 男
状态 离线
问题是这样的,有一个文本文件,里而的内容如下
/lib/AdaptiveMQ.jar
/lib/AdaptiveMQ.jar
/lib/FIX.jar
我怎么才能把它放到另外一个文件中,其内容为:
/lib/AdaptiveMQ.jar ;/lib/AdaptiveMQ.jar ;/lib/FIX.jar
第 2 楼
发表于 2006-07-19 14:12 · 中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687 发帖 1,467 注册 2005-08-08 12:00 20年会员 UID 44210
状态 离线
这几天也在编一些批处理,学习了一些简单的
@echo off
setlocal EnableDelayedExpansion
set N=1
for /f %%a in (原文本.txt) do (set New!N!=%%a
set /a N=!N! + 1)
echo %New1% ;%New2% ;%New3%>新文本.txt
其中的 %New1%~%NewN% 根据行数增加递增
第 3 楼
发表于 2006-07-19 14:15 · 中国 上海 电信
高级用户
★★
积分 599 发帖 148 注册 2003-10-30 00:00 22年会员 UID 12192 性别 男
状态 离线
第 4 楼
发表于 2006-07-19 14:56 · 中国 北京 联通
银牌会员
★★★
DOS联盟捡破烂的
积分 1,144 发帖 425 注册 2005-10-20 00:00 20年会员 UID 43784 来自 北京
状态 离线
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in (原文件.txt) do (
if not defined a (set a=%%a) else (set a=!a!;%%a)
)
echo %a%>生成文件.txt
可以确定的是,如果文件长度过于太大绝对不成,因为cmd中SET设置变量是有一定要求的,也请高人想想这个批处理怎么写.....................楼主可以试试上面的代码,如果不成就说明文件长度过大
第 5 楼
发表于 2006-07-19 15:01 · 中国 上海 电信
高级用户
★★
积分 599 发帖 148 注册 2003-10-30 00:00 22年会员 UID 12192 性别 男
状态 离线
第 6 楼
发表于 2006-07-19 15:05 · 中国 北京 联通
银牌会员
★★★
DOS联盟捡破烂的
积分 1,144 发帖 425 注册 2005-10-20 00:00 20年会员 UID 43784 来自 北京
状态 离线
测试完了告诉我一下结果
[ Last edited by bagpipe on 2006-7-19 at 15:07 ]
第 7 楼
发表于 2006-07-19 15:05 · 中国 四川 成都 鹏博士宽带
荣誉版主
★★★★
batch fan
积分 5,226 发帖 1,737 注册 2006-03-10 00:38 20年会员 UID 51697 来自 成都
状态 离线
呵呵,bagpipe又出手了。
if not defined a (set a=%%a) else (set a=!a!;%%a)这句中的defined是什么意思?头一次看到这种用法,能不能把这条代码解释一下?
第 8 楼
发表于 2006-07-19 15:21 · 中国 上海 电信
高级用户
★★
积分 599 发帖 148 注册 2003-10-30 00:00 22年会员 UID 12192 性别 男
状态 离线
恩,搞定了,好久没用过dos了,都忘的差不多了,多谢 bagpipe的帮忙
第 9 楼
发表于 2006-07-19 16:37 · 中国 北京 海淀区 IDC机房
中级用户
★★
积分 256 发帖 93 注册 2006-03-26 22:12 20年会员 UID 52853 性别 男 来自 广东
状态 离线
Originally posted by namejm at 2006-7-19 15:05:
呵呵,bagpipe又出手了。
if not defined a (set a=%%a) else (set a=!a!;%%a)这句中的defined是什么意思?头一次看到这种用法,能不能把这条代码解释一䠮..
意思就是说. 如果没有定议 a 就 执行 set a=%%a
如果定议了就 执行 else 后的语句!
第 10 楼
发表于 2006-07-19 18:17 · 中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687 发帖 1,467 注册 2005-08-08 12:00 20年会员 UID 44210
状态 离线
@echo off
setlocal EnableDelayedExpansion
set N=1
for /f "delims=" %%a in (原文件.txt) do (set New!N!=%%a
set /a N=!N! + 1)
set /a N=%N%-1
echo echo %%New1%%>Temp.bat
if %N% LEQ 1 goto End
set M=2
:len
for /f "delims=" %%a in (Temp.bat) do set X=%%a
echo %X% ;%%New%M%%%^>新文件.txt>Temp.bat
set /a M=%M%+1
if %M% GTR %N% goto End
goto len
:End
call Temp.bat
del Temp.bat
试过400行的没问题,500行就出错了,好像是for不下去了
,根本未执行到Temp.bat,效率比bagpipe的差,不过SET设置变量没有bagpipe的大
[
Last edited by zxcv on 2006-7-19 at 18:54 ]
第 11 楼
发表于 2006-07-19 22:39 · 中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013 发帖 718 注册 2006-02-18 07:07 20年会员 UID 50550
状态 离线
在批处理的实际应用中,建议不要使用太多的变量。
for /f "delims=" %i in (源文件.txt) do @set /p "var=%i;" <nul >>目标文件.txt
在命令提示符下运行。若要写到脚本中,更改%i为%%i。对于文本中出现引号的情况没有做出错处理。
第 12 楼
发表于 2006-07-19 22:52 · 中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687 发帖 1,467 注册 2005-08-08 12:00 20年会员 UID 44210
状态 离线
还是3742668版主的厉害,我和bagpipe的500行就挂了,3742668版主的1200行还没问题
第 13 楼
发表于 2006-07-20 09:05 · 中国 北京 联通
银牌会员
★★★
DOS联盟捡破烂的
积分 1,144 发帖 425 注册 2005-10-20 00:00 20年会员 UID 43784 来自 北京
状态 离线
没想到SET /P还能够连续对接文本内容,自愧不如..............
第 14 楼
发表于 2007-02-03 14:17 · 美国 北达科他州立大学
中级用户
★★
积分 316 发帖 152 注册 2006-06-18 13:01 20年会员 UID 57204 性别 男
状态 离线
@sed -e :a -e "N;$!ba;s/ *\n/ ;/g;s/*$//" test.txt
参考了无奈何斑竹的有关代码加以修改,3600行以上也可以。
[ Last edited by amao on 2007-2-3 at 02:58 PM ]
第 15 楼
发表于 2007-02-04 01:18 · 中国 辽宁 本溪 联通
银牌会员
★★★
积分 1,212 发帖 464 注册 2006-12-13 21:11 19年会员 UID 73417 性别 男
状态 离线
set fso=createobject("scripting.filesystemobject")
set file=fso.opentextfile("a.txt")
do while file.atendofstream<>true
s=s & file.readline & " ;"
loop
file.close
set file=fso.createtextfile("b.txt")
file.write left(s,len(s)-1)
file.close
msgbox "操作成功",4096
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正