标题: 求助二:删除指定文本中以sw.bmp开头的行并保留空行
[打印本页]
作者: suntb
时间: 2007-5-16 08:54
标题: 求助二:删除指定文本中以sw.bmp开头的行并保留空行
参考了分类帖子中类似的情况
http://www.cn-dos.net/forum/viewthread.php?tid=27582
得出代码如下
Quote: |
for /f "delims=" %%i in ('findstr /r /i /v "^sw.bmp" test.txt') do echo>>test.bak %%i |
|
可是,查看test.bak发现文本的空行也被删除了。如果要保留空行,该如何改代码?
作者: suntb
时间: 2007-5-16 08:58
新手摸索中,请勿笑话
期待有兄弟帮忙解答
作者: bjsh
时间: 2007-5-16 09:20
出现这种情况是因为for 的 /F 参数 会跳过空白行;
不如直接
findstr /r /i /v "^sw.bmp" test.txt >>test.bak
作者: ttyp
时间: 2007-5-16 09:23
@echo off
cd.>b.txt
for /f %%i in ('findstr /i /v /n "^sw\.bmp.*" a.txt') do (
for /f "tokens=1,2* delims=:" %%a in ("%%i") do (
if "%%b"=="" (echo.>>b.txt) else echo %%b>>b.txt
)
)
作者: suntb
时间: 2007-5-16 09:42
bjsh版主的代码比用for代码速度快多了,结果符合要求
学习中
谢谢