中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何在已存在的文件加入指定的行
作者:
标题: 如何在已存在的文件加入指定的行 上一主题 | 下一主题
tclshx
中级用户




积分 249
发帖 64
注册 2005-6-3
状态 离线
『楼 主』:  如何在已存在的文件加入指定的行

如何在已存在的文件中加入指定的内容:
比如有一个AB.TXT文件,里面只有一行内容.另一个BC.TXT文件已存在多行内容,我现在要在BC.TXT中的第二行和第5行下加入AB.TXT中的内容,怎么写?

2006-10-9 04:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
9527
银牌会员

努力做坏人


积分 1185
发帖 438
注册 2006-8-28
来自 北京
状态 离线
『第 2 楼』:  

@echo off
set a=&set /p a=<AB.txt
for /f "tokens=1* delims=:" %%a in ('findstr /n . BC.txt') do (
echo %%b>>tmp.txt
if "%%a"=="2" echo %a%>>tmp.txt
if "%%a"=="5" echo %a%>>tmp.txt
)
START TMP.TXT

粗糙的写了一下,不过好像还可以更加简单,算了,该下班了,明天在说吧



我今后在论坛的目标就是做个超级坏人!!!
2006-10-9 05:35
查看资料  发短消息 网志  OICQ (329429)  编辑帖子  回复  引用回复
pengfei
银牌会员




积分 1218
发帖 485
注册 2006-7-21
来自 湖南.娄底
状态 离线
『第 3 楼』:  

代码已修正:
@echo off
set /p ii=<ab.txt
setlocal enabledelayedexpansion
for /f "delims=" %%i in (bc.txt) do (
    echo %%i>>temp.txt
    set /a num+=1
    if "!num!"=="2" echo %ii%>>temp.txt
    if "!num!"=="5" echo %ii%>>temp.txt
)
[ Last edited by pengfei on 2006-10-9 at 08:01 ]

2006-10-9 05:36
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子  回复  引用回复
不得不爱
超级版主

我爱DOS


积分 5310
发帖 2044
注册 2005-9-26
来自 四川南充
状态 离线
『第 4 楼』:  

3楼的不符合要求。
@echo off
for /f "tokens=1* delims=:" %%a in ('findstr /n . BC.txt') do (
echo %%b
if "%%a"=="2" type ab.txt
if "%%a"=="5" type ab.txt
)>>tmp.txt




我的网络U盘 我的网络第2个U盘
论坛软件下载链接
灵雨飘零论坛  
论坛新手必读,所有人的基本行为准则
刷QQ空间人气、留言的小软件
2006-10-9 06:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pengfei
银牌会员




积分 1218
发帖 485
注册 2006-7-21
来自 湖南.娄底
状态 离线
『第 5 楼』:  

发现是我理解错误...

2006-10-9 08:01
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子  回复  引用回复
tclshx
中级用户




积分 249
发帖 64
注册 2005-6-3
状态 离线
『第 6 楼』:  

我还是帖上我的内容吧:
以下是修改前MENU.LST文件中的内容:
timeout 30
default 5
splashimage (hd0,0)/maotao/win2008.xpm.gz
fontfile (hd0,0)/maotao/fonts

title 启动 maotao最终修改版xpe
chainloader /maotao/ldrxpe

title 运行矮人工作室DOS工具盘4.2
root (hd0,0)
kernel (hd0,0)/maotao/memdisk.gz
initrd (hd0,0)/maotao/ar4.img

title 运行多功能GHOST 8.3
kernel (hd0,0)/maotao/memdisk.gz
initrd (hd0,0)/maotao/ghost.img

title 返回硬盘第一分区Windows菜单或启动该Window
root (hd0,0)
chainloader +1

title 重新启动计算机
reboot

title 关闭计算机
halt

AB.TXT中的内容如下:(是一个可变化的MD5密码)
$1$6$M/C73ICWnhubAdHfe8BjZ1

要修改MENU.LST中的内容为:
timeout 30
default 5
splashimage (hd0,0)/maotao/win2008.xpm.gz
fontfile (hd0,0)/maotao/fonts
password --md5 $1$6$M/C73ICWnhubAdHfe8BjZ1

title 启动 maotao最终修改版xpe
password --md5 $1$6$M/C73ICWnhubAdHfe8BjZ1
chainloader /maotao/ldrxpe

title 运行矮人工作室DOS工具盘4.2
password --md5 $1$6$M/C73ICWnhubAdHfe8BjZ1
root (hd0,0)
kernel (hd0,0)/maotao/memdisk.gz
initrd (hd0,0)/maotao/ar4.img

title 运行多功能GHOST 8.3
password --md5 $1$6$M/C73ICWnhubAdHfe8BjZ1
kernel (hd0,0)/maotao/memdisk.gz
initrd (hd0,0)/maotao/ghost.img

title 返回硬盘第一分区Windows菜单或启动该Window
root (hd0,0)
chainloader +1

title 重新启动计算机
reboot

title 关闭计算机
halt

且以后可根据AB.TXT的变化内容来随时修改MENU.LST

2006-10-9 10:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tclshx
中级用户




积分 249
发帖 64
注册 2005-6-3
状态 离线
『第 7 楼』:  

看来是没希望了

2006-10-11 18:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by tclshx at 2006-10-11 18:55:
看来是没希望了

  你应该好好揣摩一下以上的代码,不要指望别人把所有的事情都帮你解决完。自己学到方法才是最重要的,否则,下次碰到一个类似的问题你还是解决不了。

[ Last edited by namejm on 2006-10-12 at 00:48 ]



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-10-12 00:45
查看资料  发短消息 网志   编辑帖子  回复  引用回复
无奈何
荣誉版主





积分 1338
发帖 356
注册 2005-7-15
状态 离线
『第 9 楼』:  

想说的 namejm 兄已经说了。
楼主试试下面的命令,可简单解决你的问题。
sed -e "2rAB.txt" -e "5rAB.txt" BC.TXT
sed 下载:http://www.student.northpark.edu/pemente/sed/gsed407x.zip

[ Last edited by 无奈何 on 2006-10-14 at 06:21 ]



  ☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul

2006-10-12 05:22
查看资料  发送邮件  发短消息 网志  OICQ (105400208)  编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 10 楼』:  sed怎么用?



  Quote:
Originally posted by 无奈何 at 2006-10-12 05:22:
想说的 namejm 兄已经说了。
楼主试试下面的命令,可简单解决你的问题。
sed "2~3rAB.txt" BC.TXT
sed 下载:http://www.student.northpark.edu/pe ...


无奈何版主说的这个sed的帮助是这样的:

  Quote:
C:\Documents and Settings\Administrator>sed /?
sed: -e expression #1, char 2: Unterminated address regex

可以简单给介绍一下sed的作用和语法吗?


2006-10-12 06:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
无奈何
荣誉版主





积分 1338
发帖 356
注册 2005-7-15
状态 离线
『第 11 楼』:  

Re  lxmxn
Sed 是 linux、unix 下的工具,sed -h 或 sed --help 查看帮助。
Sed 的使用也比较复杂,你可以先参阅一下下面链接的文章,BIG5 编码的。
以后我会整理一些我收集的文章贴上来。
文章地址:http://phi.sinica.edu.tw/aspac/reports/96/96005/
还有可以到:http://gnuwin32.sourceforge.net/packages/sed.htm
这个地址下载 sed 最新的 win32 版,其中附带的帮助文章也非常好,只是是英文的。



  ☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul

2006-10-12 06:46
查看资料  发送邮件  发短消息 网志  OICQ (105400208)  编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 12 楼』:  


谢谢版主,但是你说的这个”文章地址“里面的说明文字都好像是乱码啊`

下面是我复制的一段文字:

  Quote:
瓜い , よ standard input 夹非块 , 琌弄戈ぇ矪 ; standard output 夹非块 , 琌癳挡狦ぇ矪 ; い丁 sed よ遏ㄢ店絬よ遏ボ sed 瑈祘ㄤい , オ娩店絬よ遏ボ sed 盢夹非块戈竚 pattern space , 娩店絬よ遏ボ sed 盢 pattern space い絪胯Ч拨戈癳夹非块

店絬よ遏い , ㄢ龟絬よ遏だボ pattern space 籔 sed scriptㄤい , pattern space 絯侥跋 , ウ琌 sed 初┮ ; τ sed script 玥ボ舱磅︽絪胯

瓜い, オ娩店絬よ遏 "Unix" パ夹非块竚 pattern space ; 钡帝 , 娩店絬よ遏い , sed 磅︽ sed script い絪胯 s/Unix/UNIX/ (爹秆 [2]) , 挡狦 "Unix" 砆蠢传Θ "UNIX" , ぇ , "UNIX" パ pattern space 癳夹非块


  羆瓃┮ē , 讽 sed パ夹非块弄︽戈 pattern space  , sed ㄌ酚 sed script 絪胯硋癸 pattern space ず戈磅︽絪胯 , ぇ , パ pattern space ず挡狦癳夹非块 , 钡帝盢︽戈弄狡磅︽瓃笆 , 弄Ч┮Τ戈︽ゎ



2006-10-12 07:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
无奈何
荣誉版主





积分 1338
发帖 356
注册 2005-7-15
状态 离线
『第 13 楼』:  

我已说明是 BIG5 编码 的,右键编码设置一下。



  ☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul

2006-10-12 08:20
查看资料  发送邮件  发短消息 网志  OICQ (105400208)  编辑帖子  回复  引用回复
vkill
金牌会员





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

下载sed 回去看看

2006-10-14 01:13
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: