标题: [文本处理] [已解决]批处理如何删除文本中不包含指定字符串的行? [打印本页]
作者: sinokaire 时间: 2012-5-8 18:06 标题: [已解决]批处理如何删除文本中不包含指定字符串的行?
本帖最后由 sinokaire 于 2012-5-10 09:52 编辑
请教各位前辈:
如何用批处理实现删除D:\a\b\c.txt中,不含指定字符串"RRFF"的行.
其中:a为系统时间当前年,b为系统时间当前月,c为系统时间当前日。
例如:当前系统时间为:2010.12.23,则删除D:\2010\12\23.txt中不含"RRFF"行。
假设23.txt中的内容为:
001 RRFF 12345678 12
002 asdf 12345678 12
003 aaaa 12345678 12
004 RRFF 12345678 12
运行批处理后,23.txt中的内容变为:
001 RRFF 12345678 12
004 RRFF 12345678 12
以上,感谢!
作者: apang 时间: 2012-5-8 18:58
这样可以不?- @echo off
- set "name=d:\%date:~,4%\%date:~5,2%\%date:~8,2%.txt"
- (for /f "delims=" %%a in ('findstr /i "RRFF" %name%') do (
- echo %%a
- ))>$
- move $ %name%
复制代码
作者: sinokaire 时间: 2012-5-8 19:45
本帖最后由 sinokaire 于 2012-5-8 19:56 编辑
回复 2# apang
感谢前辈的回复,有一个问题,我这的程式生成的目录和文件名的现状是这样的:
比如今天是2012.05.08,程式自动建议的目录和txt文件为:d:\2012\5\8.txt,而不是D:\2012\05\08.txt。。。。
求前辈再帮下忙,感谢了!
作者: apang 时间: 2012-5-8 20:18
回复 3# sinokaire - @echo off
- set/a b=100%date:~5,2%%%100
- set/a c=100%date:~8,2%%%100
- set "name=d:\%date:~,4%\%b%\%c%.txt"
- (for /f "delims=" %%a in ('findstr /i "RRFF" %name%') do (
- echo %%a
- ))>$
- move $ %name%
复制代码
作者: sinokaire 时间: 2012-5-9 07:48
回复 4# apang
感谢前辈,搞定了!谢谢您了!
作者: sinokaire 时间: 2012-5-9 12:43
本帖最后由 sinokaire 于 2012-5-9 12:46 编辑
回复 4# apang
前辈,首先感谢你的给力回复!由于我个人的不严谨,未仔细确认我处软件生成的目录及文件命名格式。导致您给的程式暂时无法使用。
我处的软件生成目录及文件格式明确如下:
若当前系统日期为:2012.5.8,则生成目录为:D:\test\log\V_COM\2012_05\8.txt
即:生成一个“年_月”目录,在这个目录里生成“日.txt” ; 个位数月份用:01、02....09表示,个位数日用 1、2...9表示。
以上,不知有没有表达清楚...
望前辈能在不忙的时候,再辛苦一次,给回复一个解决方法。
拜谢!
作者: sinokaire 时间: 2012-5-9 12:56
我自己照着您给的回复改了一下,您看行不?
@echo off
set/a c=100%date:~8,2%%%100
set "name=D:\lcdtest\Log\V_COM\%date:~,4%_%date:~5,2%\%c%.txt"
(for /f "delims=" %%a in ('findstr /i "RRFF" %name%') do (
echo %%a
))>$
move $ %name%
作者: gawk 时间: 2012-5-9 12:58
回复 7# sinokaire
你先亲自测试一下行不?
作者: sinokaire 时间: 2012-5-9 13:02
回复 8# gawk
嗯,我试了一下,好用。
只是不知道会不会出现别的问题。
作者: gawk 时间: 2012-5-9 13:09
回复 9# sinokaire
潜在问题1:系统日期格式不一定是yyyy-mm-dd
作者: sinokaire 时间: 2012-5-9 13:26
回复 10# gawk
嗯,明白。
另外,有个想法不知道能不能用BAT实现。
一个文件夹内(比如:D:\11),有很多个txt文本,命名无规则。能否用BAT实现判断这些txt文本中,有多少个文本的内容中是含有字符串“AAAA”的,将包含此字符串的文本数量统计出来。
作者: yangfengoo 时间: 2012-5-10 10:23
请开新帖,很容易实现
作者: gawk 时间: 2012-5-10 13:07
回复 11# sinokaire
基本上所有关于文本处理类的想法都是可以实现的
作者: 秋风·飞扬 时间: 2012-5-13 19:50
回复 13# gawk
告诉你一个秘密,学生-14 木有小JJ
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |