![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-09 11:33 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]批处理修改文本 |
| 可打印版本 702 / 6 |
| 第1楼 210 | 发表于 2008-07-23 19:13 |
| 初级用户 发帖 8 积分 20 | |
|
[求助]批处理修改文本 void function1
{ asdf asd adf 4235asdfasdf !fas gsdfg1!=dfadf &adsf=asdf af=&asdf "fasdf"; } void function2 { asdf daf!fdag } 我想在void function1 的花括号里面,增加 add1 add2 两句, 请问用p应该怎么实现? 谢谢! |
|
| 第2楼 210 | 发表于 2008-07-23 19:18 |
| 初级用户 发帖 8 积分 20 | |
|
PS:
void function1 是确定的 而 花括号的内容是不确定的 我想根据 void function1 来增加 花括号里的内容 |
|
| 第3楼 pusofalse | 发表于 2008-07-23 19:52 |
| 银牌会员 发帖 646 积分 1,604 | |
|
@echo off
for /f "delims=" %%a in (test.txt) do ( if "%%a" equ "void function1" set/a n+=1 if defined n set/a n+=1 echo %%a setlocal enabledelayedexpansion if !n! equ 3 echo add1&echo add2&set n= endlocal ) pause>nul |
|
| 第4楼 210 | 发表于 2008-08-14 21:12 |
| 初级用户 发帖 8 积分 20 | |
|
如果要保存到文件中,是不是需要全部输出到文件然后把原文件覆盖掉。如果这样的话,原文件的空行就会丢失,格式就改变了。
请问一下,可不可以在原文件中插入,或者将空行保留呢 ? 望高人再指点下,谢谢! |
|
| 第5楼 210 | 发表于 2008-08-14 21:41 |
| 初级用户 发帖 8 积分 20 | |
|
if "%%a" equ "void function1" set/a n+=1
应该是 if "%%a" equ "void function1" set/a n+=1 吧 另外,如果有空格行(只含有空格的行),会输出: ECHO 处于关闭状态。 应该怎样才能让它不出现呢? |
|
| 第6楼 pusofalse | 发表于 2008-08-14 22:21 |
| 银牌会员 发帖 646 积分 1,604 | |
|
[ Last edited by pusofalse on 2008-8-14 at 10:25 PM ] |
|
| 第7楼 210 | 发表于 2008-08-19 21:53 |
| 初级用户 发帖 8 积分 20 | |
|
非常感谢! ^_^
美中不足 ('findstr /n .* test.txt) 只有一个单引号,笔误啊,笔误。。。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |