![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-03 11:59 |
共 48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [讨论]输入内容并替代指定行的内容 |
| 可打印版本 898 / 8 |
| 第1楼 scriptor | 发表于 2007-02-24 12:03 |
| 银牌会员 发帖 555 积分 1,187 | |
|
[讨论]输入内容并替代指定行的内容 要使文件1.txt 的原始内容 32 dd df 扫荡非法拉客 中的第二行为(引号中的内容) "已经替换" 而其他行的内容和信息不改变。 实现这个功能的bat怎么写? 注意:每次运行这个bat, 就把第二行的信息替换为不同的新的内容。 在进一步,如果是将这个bat本身的第二行替换呢? 并且这个bat还要能正确运行 请问又该怎么写这个bat?“ 期待回复 十分感谢各位路过的和回复问题的大虾们!! 谢谢了。 [ Last edited by scriptor on 2007-2-23 at 11:04 PM ] |
|
| 第2楼 slore | 发表于 2007-02-24 12:23 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
用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 |
|
| 第3楼 scriptor | 发表于 2007-02-24 12:28 |
| 银牌会员 发帖 555 积分 1,187 | |
|
先谢谢你作为第一个回复者
但是你的做法太复杂了 呵呵:〉。。。 谢谢! |
|
| 第4楼 vkill | 发表于 2007-02-24 13:21 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
set "var=你要替换的内容"
ssed -i0 "2c\%var%" life |
|
| 第5楼 scriptor | 发表于 2007-02-24 13:23 |
| 银牌会员 发帖 555 积分 1,187 | |
|
不要用除了cmd.exe里面的命令之外的工具
谢谢! 就用 for set find(str)等等. |
|
| 第6楼 slore | 发表于 2007-02-24 14:18 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
复杂?输出第一句,输出你要的话,跳过前2句把后面的全输出....这么简单。。。
|
|
| 第7楼 amao | 发表于 2007-02-24 14:46 |
| 中级用户 发帖 152 积分 316 | |
|
用自带的说复杂,用第三方工具来解决又不给,现在的人真难伺候。
记得“无奈何”版主说过,用合适的工具做它最擅长的事……唉…… |
|
| 第8楼 zh159 | 发表于 2007-02-24 15:09 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
本想写个替换行的,看了对 2、4 楼的评价,难伺候......
![]() |
|
| 第9楼 lxmxn | 发表于 2007-02-25 11:17 |
| 版主 发帖 4,938 积分 11,386 | |
|
提示一下思路吧:先用for+findstr /n .*来分析文件,然后用if判断行号,再根据行号进行替换。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |