Windows下的find命令详解

简介:

语法 
find [/v] [/c] [/n] [/i] "string" [[Drive:][Path]FileName[...]] 

参数 
/v  
显示所有不包含指定 string 的行。  
/c  
计算包含指定 string 的行并显示总数。  
/n  
将文件行号置于每行开头。  
/i  
指定搜索不区分大小写。  
"string"  
必需。指定要搜索的字符组。必须将 string 包含在引号之内(即,"string")。  
[Drive:][Path] FileName  
指定要在其中搜索指定字符串的文件的位置和名称。  
/?  
在命令提示符显示帮助。  
注释 
指定字符串  
如果不使用 /i,find 将精确搜索指定的字符串。例如,find 命令认为字符“a”和“A”是不同的。但是,如果使用 /i,find 不区分大小写,并将“a”和“A”视为同一个字符。 

如果要搜索的字符串包含引号,必须对包含在字符串中的单引号用双引号引起来,即"StringContaining""QuotationMarks"。 

将 find 用作筛选器  
如果省略文件名,find 将用作筛选器,从标准输入源(通常是键盘、管道或重定向的文件)得到输入,然后显示任何包含字符串的所有行。 

命令语法次序  
可以按任何顺序键入 find 命令的参数和命令行选项。 

使用通配符  
在用 find 命令指定的文件名或扩展名中不能使用通配符(* 和 ?)。要搜索使用通配符指定的一组文件中的字符串,可以在 for 命令中使用 find 命令。 

将 /v 或 /n 与 /c 一起使用  
如果在相同的命令行中指定 /c 和 /v ,find 将显示不包含指定字符串的行数。如果在相同的命令行中指定 /c 和 /n,find 将忽略 /n。 

在 find 中使用回车  
find 命令不能识别回车。当使用 find 在包含回车的文件中搜索文本时,必须将搜索字符串限制在可以在两个回车之间找到的文本,也就是不能被回车中断的字符串。例如,“tax”与“file”之间出现回车时,find 不会报告找到“tax file”字符串。 

范例 
要从 Pencil.ad 显示包含字符串“Pencil Sharpener”的所有行,请键入: 

find "Pencil Sharpener" pencil.ad 

要查找将文字包含在引号之内的字符串,必须首先将整个字符串用引号围绕起来。其次,每个包含在字符串内的引号必须使用双引号。要 在 Report.doc 中查找 “The scientists labeled their paper ‘for discussion only.’It is not a final report.”, 请键入: 

find "The scientists labeled their paper ""for discussion only."" It is not a final report." report.doc 

如果要搜索一组文件,可以使用带有 for 命令的 find 命令。要在当前目录中搜索包含 .bat 扩展名以及包含“PROMPT”字符串的文件,请键入: 

for %f in (*.bat) do find "PROMPT" %f 

要搜索硬盘以便在 C 驱动器上查找和显示包含字符串“CPU”的文件名,请使用管道号 (|) 将 dir 命令的结果重新定向到如下所示的 find中: 

dir c:\ /s /b | find "CPU" 

因为 find 搜索区分大小写并且 dir 产生的输出是大写的,所以必须用大写字母键入字符串“CPU”或者将 /i 命令行选项与 find 一起使用。




在Windows下面怎样通过命令行统计一个目录中文件的数量,或者说,如果在一个.bat文件中,统计一个目录中的文件数量?

我原来以为是不可能的,要编一个vbs程序什么的,后来到网上找了下,发现还真是可以的。

dir /b 文件夹路径 | find /v /c "::"

当然,这种用法速度并不快,临时将就一下是可以的。毕竟是Windows,命令行的功能本来就很烂。

另外,上述命令把目录中的文件夹和文件都统计在内,如果只想统计文件,而忽略文件夹,可以加上“/a-d”选项。

dir /b /a-d 文件夹路径 | find /v /c "::"

如果只想统计文件夹,可以加上“/ad”选项。

dir /b /ad 文件夹路径 | find /v /c "::"

如果要统计多个文件夹的文件数量,就创建一个.bat文件,

dir /b 文件夹路径1 | find /v /c "::"
dir /b 文件夹路径2 | find /v /c "::"
dir /b 文件夹路径3 | find /v /c "::"

















本文转自leonardos51CTO博客,原文链接:http://blog.51cto.com/leomars/920508 ,如需转载请自行联系原作者



相关文章
|
消息中间件 NoSQL Linux
Redis的基本介绍和安装方式(包括Linux和Windows版本),以及常用命令的演示
Redis(Remote Dictionary Server)是一个高性能的开源键值存储数据库。它支持字符串、列表、散列、集合等多种数据类型,具有持久化、发布/订阅等高级功能。由于其出色的性能和广泛的使用场景,Redis在应用程序中常作为高速缓存、消息队列等用途。
1052 16
|
网络协议 数据建模 数据安全/隐私保护
网安快速入门之Windows命令
本文简要介绍了Windows命令行中常用的11个命令,帮助快速入门网络安全和系统管理。这些命令包括:`help`(获取命令帮助)、`copy`(复制文件)、`dir`(显示目录内容)、`cd`(更改当前目录)、`type`(显示文本文件内容)、`del`(删除文件)、`ipconfig`(查看网络配置)、`net`(用户和组管理)、`netstat`(显示网络连接)、`tasklist`(显示进程信息)和`sc`(服务控制)。每个命令都有其特定用途,掌握它们可以大大提高工作效率和系统维护能力。
|
存储 安全 数据库
适用于 Windows 的管理命令
以下命令可用于管理 Rational® Synergy。
256 1
|
人工智能 监控 安全
掌握Windows管理利器:WMI命令实战
本文介绍了Windows Management Instrumentation (WMI) 的基本概念和用途,通过多个实用的`wmic`命令示例,如获取CPU信息、查看操作系统详情、管理服务、检查磁盘空间等,展示了WMI在系统维护中的强大功能。适合IT专业人士学习和参考。
1399 4
|
Windows
Windows系统命令dir使用详解
Windows系统命令dir使用详解
2631 2
|
缓存 监控 网络协议
计算机网络的常用的网络通信命令(Windows)
本文介绍了网络技术中常用的命令,如ping用于检测网络连通性,ipconfig查看TCP/IP配置,netstat监控网络状态,arp显示和修改ARP缓存,at安排任务执行,tracert追踪路由,以及nbtstat获取NetBIOS信息。
453 1
|
监控 网络安全 Windows
Windows系统命令
Windows系统命令
269 1
|
监控 NoSQL Redis
redis-server --service-install redis.windows.conf --loglevel verbose 命令的作用是什么?
redis-server --service-install redis.windows.conf --loglevel verbose 命令的作用是什么?
933 3
windows 下面的 cmd命令
windows 下面的 cmd命令
|
存储 Web App开发 调度
Windows系统新手教程:常见操作命令帮你玩转电脑
Windows系统新手教程:常见操作命令帮你玩转电脑
468 5