![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 00:06 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 求一个批处理。把文本a中所每行单词hello后文字全部删除 |
| 可打印版本 900 / 4 |
| 第1楼 289403 | 发表于 2010-08-04 20:11 |
| 新手上路 发帖 5 积分 5 | |
|
求一个批处理。把文本a中所每行单词hello后文字全部删除 求一个批处理。把文本a.txt中每行单词hello(单词hello已确定存在)后文字全部删除输出为b.txt
多谢高手了 |
|
| 第2楼 523066680 | 发表于 2010-08-04 21:04 |
| 银牌会员 发帖 1,133 积分 2,362 | |
|
@echo off
setlocal enabledelayedexpansion type nul>b.txt for /f "tokens=*" %%a in (a.txt) do ( set line=%%a for /f "tokens=2 delims=#" %%b in ("!line:hello=#!") do ( echo %%b >>b.txt ) ) pause 将hello 替换为# 然后以#为分割。 缺点是如果这一行带#就拜拜了 其他特殊字符事故我不管。 [ Last edited by 523066680 on 2010-8-4 at 21:05 ] |
|
| 第3楼 523066680 | 发表于 2010-08-04 21:10 |
| 银牌会员 发帖 1,133 积分 2,362 | |
|
有#的话可以通过提前对变量中的#临时替换,避免#造成的分割。
没有出现hello的句子会被掠过。 还有个问题是会不会出现两个hello? 那样的话选哪个hello后面的字符 |
|
| 第4楼 freeants001 | 发表于 2010-08-04 21:29 |
| 中级用户 发帖 244 积分 330 来自 湖北 | |
|
纯批
缺陷,a.txt中不能含有% SED |
|
| 第5楼 523066680 | 发表于 2010-08-04 21:48 |
| 银牌会员 发帖 1,133 积分 2,362 | |
|
真有创意
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |