找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29253|回复: 7

[文本处理] 批处理怎样查找不包含指定字符串的文件?

[复制链接]
发表于 2012-6-11 18:37:19 | 显示全部楼层 |阅读模式
查找D盘下所有文本文件,如果文本内容不包含www字符,则列出对应的文本文件的路径
请问如何实现?
发表于 2012-6-11 19:07:09 | 显示全部楼层
  1. @echo off
  2. for /f "delims=" %%a in ('dir /a-d /b /s d:\*.txt') do (
  3.   findstr "www" "%%a">nul || echo %%a
  4. )
  5. pause
复制代码
发表于 2012-6-11 19:07:13 | 显示全部楼层
本帖最后由 yangfengoo 于 2012-6-11 21:50 编辑
  1. @echo off
  2. for /f "tokens=*" %%a in ('dir /s/b d:\*.txt') do findstr /i "www" "%%~a">nul||echo %%~a
  3. pause
复制代码
发表于 2012-6-11 19:53:10 | 显示全部楼层
  1. @findstr /m /s /v  www d:\*.txt
复制代码
发表于 2012-6-11 21:51:34 | 显示全部楼层
回复 4# CrLf

无法过滤包含字符串的文件名

评分

参与人数 1PB +5 收起 理由
CrLf + 5 感谢指正

查看全部评分

 楼主| 发表于 2012-6-12 09:54:45 | 显示全部楼层
谢谢各位高手
发表于 2012-6-13 20:28:27 | 显示全部楼层
回复 4# CrLf


哈哈,这是一个思维上的小陷阱。
如果不包含www字符的行确实存在,则 /v 仍然会列出包含www字符的文件。除非文件每一行都有www字符,/v 才能得到预期结果。

评分

参与人数 1PB +5 收起 理由
CrLf + 5 感谢指正

查看全部评分

发表于 2012-6-13 20:37:47 | 显示全部楼层
本帖最后由 CrLf 于 2012-6-13 20:45 编辑

回复 7# powerbat


我汗,确实如此,那就改成:
  1. @echo off
  2. findstr /m /s  www d:\*.txt>tmp
  3. dir /b /a-d d:\*.txt|findstr /v /x /g:tmp
  4. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 04:59 , Processed in 0.017118 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表