标题: [文本处理] 批处理怎样查找不包含指定字符串的文件? [打印本页]
作者: wljboy 时间: 2012-6-11 18:37 标题: 批处理怎样查找不包含指定字符串的文件?
查找D盘下所有文本文件,如果文本内容不包含www字符,则列出对应的文本文件的路径
请问如何实现?
作者: apang 时间: 2012-6-11 19:07
- @echo off
- for /f "delims=" %%a in ('dir /a-d /b /s d:\*.txt') do (
- findstr "www" "%%a">nul || echo %%a
- )
- pause
复制代码
作者: yangfengoo 时间: 2012-6-11 19:07
本帖最后由 yangfengoo 于 2012-6-11 21:50 编辑
- @echo off
- for /f "tokens=*" %%a in ('dir /s/b d:\*.txt') do findstr /i "www" "%%~a">nul||echo %%~a
- pause
复制代码
作者: CrLf 时间: 2012-6-11 19:53
- @findstr /m /s /v www d:\*.txt
复制代码
作者: yangfengoo 时间: 2012-6-11 21:51
回复 4# CrLf
无法过滤包含字符串的文件名
作者: wljboy 时间: 2012-6-12 09:54
谢谢各位高手
作者: powerbat 时间: 2012-6-13 20:28
回复 4# CrLf
哈哈,这是一个思维上的小陷阱。
如果不包含www字符的行确实存在,则 /v 仍然会列出包含www字符的文件。除非文件每一行都有www字符,/v 才能得到预期结果。
作者: CrLf 时间: 2012-6-13 20:37
本帖最后由 CrLf 于 2012-6-13 20:45 编辑
回复 7# powerbat
我汗,确实如此,那就改成:- @echo off
- findstr /m /s www d:\*.txt>tmp
- dir /b /a-d d:\*.txt|findstr /v /x /g:tmp
- pause
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |