标题: [讨论]输入内容并替代指定行的内容
[打印本页]
作者: scriptor
时间: 2007-2-24 12:03
标题: [讨论]输入内容并替代指定行的内容
要使文件1.txt 的原始内容
32
dd
df
扫荡非法拉客
中的第二行为(引号中的内容)
"已经替换"
而其他行的内容和信息不改变。
实现这个功能的bat怎么写?
注意:每次运行这个bat, 就把第二行的信息替换为不同的新的内容。
在进一步,如果是将这个bat本身的第二行替换呢?
并且这个bat还要能正确运行
请问又该怎么写这个bat?“
期待回复
十分感谢各位路过的和回复问题的大虾们!!
谢谢了。
[
Last edited by scriptor on 2007-2-23 at 11:04 PM ]
作者: slore
时间: 2007-2-24 12:23
用2个for命令
第一个for打开文本,把第一行输入到>TMP.txt然后goto出这个for
for .... %%i >TMP.txt goto Sec
:Sec
echo 已经替换>>TMP
for skip=2.....%%i>>TMP.txt
最后用TMP.txt覆盖1.txt
作者: scriptor
时间: 2007-2-24 12:28
先谢谢你作为第一个回复者
但是你的做法太复杂了
呵呵:〉。。。
谢谢!
作者: vkill
时间: 2007-2-24 13:21
set "var=你要替换的内容"
ssed -i0 "2c\%var%" life
作者: scriptor
时间: 2007-2-24 13:23
不要用除了cmd.exe里面的命令之外的工具
谢谢!
就用 for set find(str)等等.
作者: slore
时间: 2007-2-24 14:18
复杂?输出第一句,输出你要的话,跳过前2句把后面的全输出....这么简单。。。
作者: amao
时间: 2007-2-24 14:46
用自带的说复杂,用第三方工具来解决又不给,现在的人真难伺候。
记得“无奈何”版主说过,用合适的工具做它最擅长的事……唉……
作者: zh159
时间: 2007-2-24 15:09
本想写个替换行的,看了对 2、4 楼的评价,难伺候......

作者: lxmxn
时间: 2007-2-25 11:17
提示一下思路吧:先用for+findstr /n .*来分析文件,然后用if判断行号,再根据行号进行替换。