返回顶部
首页 > 资讯 > 精选 >批处理常用DOS中findfindstr命令的示例分析
  • 564
分享到

批处理常用DOS中findfindstr命令的示例分析

2023-06-08 10:06:47 564人浏览 八月长安
摘要

今天就跟大家聊聊有关批处理常用DOS中findfindstr命令的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一.字符串查找:find在文件中搜索字符串。FIND [/V]

今天就跟大家聊聊有关批处理常用DOS中findfindstr命令的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

一.字符串查找:find

在文件中搜索字符串
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]

  /V        显示所有未包含指定字符串的行。
  /C        仅显示包含字符串的行数。
  /N        显示行号。
  /I        搜索字符串时忽略大小写。
  /OFF[LINE] 不要跳过具有脱机属性集的文件。
  "string"   指定要搜索的文字串,
  [drive:][path]filename   指定要搜索的文件。


基本格式:find "要查找的字符串" 要查找的文件(不在当前目录则需要给出完整路径)

例1
find "abc" d:\abc.txt
在abc.txt中查找字符串abc的行。


/I 搜索字符串时忽略大小写。

例2
find /i "abc" d:\abc.txt
参数/i代表的是“Ignore”(忽略),也就是忽略大小写。通过/I 参数可以不区分要查找的字符串“abc”的大小写。


/N 显示行号。

例3
find /n "abc" d:\abc.txt
参数/n代表英语单词“Number”(号码).。通过/n参数我们可以查找到字符串"abc"所在的行号。


/C 仅显示包含字符串的行数。

例4
find /c "abc" d:\abc.txt
参数/c是英语单词“Count”(计数)的缩写。通过/c参数我们可以统计包含"abc"字符串的行数。


/V  显示所有未包含指定字符串的行。

例5
find /v "abc" d:\abc.txt
这个参数用于找出文件中不包含指定字符串的行。在这里表示查找不包含"abc"字符串的行。

注意:find命令中要查找的字符串一字要用双引号" "括起来。

二.字符串查找增强:findstr

在文件中寻找字符串。
FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/F:file]
        [/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]
        strings [[drive:][path]filename[ ...]]

  /B        在一行的开始配对模式。
  /E        在一行的结尾配对模式。
  /L        按字使用搜索字符串。
  /R        将搜索字符串作为一般表达式使用。
  /S        在当前目录和所有子目录中搜索
              匹配文件。
  /I         指定搜索不分大小写。
  /X        打印完全匹配的行。
  /V        只打印不包含匹配的行。
  /N        在匹配的每行前打印行数。
  /M        如果文件含有匹配项,只打印其文件名。
  /O        在每个匹配行前打印字符偏移量。
  /P        忽略有不可打印字符的文件。
  /OFF[LINE] 不跳过带有脱机属性集的文件。
  /A:attr   指定有十六进位数字的颜色属性。请见 "color /?"
  /F:file   从指定文件读文件列表 (/ 代表控制台)。
  /C:string 使用指定字符串作为文字搜索字符串。
  /G:file   从指定的文件获得搜索字符串。 (/ 代表控制台)。
  /D:dir    查找以分号为分隔符的目录列表
  strings   要查找的文字。
  [drive:][path]filename  指定要查找的文件。

除非参数有 /C 前缀,请使用空格隔开搜索字符串。
例如: 'FINDSTR "hello there" x.y' 在文件 x.y 中寻找 "hello" 或
"there" 。  'FINDSTR /C:"hello there" x.y' 在文件 x.y 寻找 "hello there"。


1.基本格式:findstr " strings " [drive:][path]filename

Strings  是要查找的内容。
[rive:][path]filename  指定要查找的文件,路径可缺省,缺省情况下为当前目录。

例1
findstr "icq" 123.txt
在123.txt中查找包含有“icq”这三个字符串的行。


/I  指定搜索不分大小写。

例2
findstr /i "MSN" 123.txt
在123.txt中查找包含有“MSN”这三个字符的行,且不区分大小写。


★/R 将搜索字符串作为正则表达式使用。参数/R 强调以正则表达式规则来解读字符串。R - Right 右即为正。我们
都说右手是正手,因此引申为右为正,左为反。

例3
findstr /r "icq msn" 123.txt
在123.txt中查找包含有 “icq”或“msn”的行,查找的多个字符串间用空格隔格开。


 /S 在当前目录和所有子目录中搜索。

例4
findstr /s /i "MSN" *.txt
在当前目录和所有子目录中的txt文件中搜索字符串"MSN"(不区分字母大小写)。


/C:string 使用指定字符串作为文字搜索字符串。

例5
findstr /c:"icq msn" 123.txt
在123.txt中查找包含有 “icq msn”这几个字符的行。注意,这里“icq msn”是一整体的。
此参数多用于查找含有空格的字符串。


★在使用 findstr "我 你 他" test.txt 的时候,并不能查找到内容,但是,加上开关 /i 或者 /r 之后就正确无误
了,可能是在查找多个纯中文字符串的时候的一个bug吧;单个的纯中文字符串没有任何问题。

findstr 命令中正则表达式的用法规则

一般表达式的快速参考:
  .        通配符: 任何字符
  *        重复: 以前字符或类别出现零或零以上次数
  ^        行位置: 行的开始
  $        行位置: 行的终点
  [class]  字符类别: 任何在字符集中的字符
  [^class] 补字符类别: 任何不在字符集中的字符
  [x-y]    范围: 在指定范围内的任何字符
  \x       Escape: 元字符 x 的文字用法
  \<xyz    字位置: 字的开始
  xyz\>    字位置: 字的结束


● 通配符和重复符规则,即 . 和 *
通配符,即一个句点,代表任何一个字符,而且只能是一个,包括字母、数字、半角符号还有空格。
重复符,即型号* 代表前面字母的出现次数(出现次数从0到多次,0表示没有)。

findstr . 123.txt 或 findstr "." 123.txt
在文件123.txt中查找任意字符,不包括空行。

例6
findstr .* 2.txt 或 findstr ".*" 2.txt
在文件123.txt中查找任意字符,包括空行。

例7
findstr ac* 123.txt
在文件123.txt中查找出现一个“a”字符串,以及a后面出现过0次或者任意次c的字符行。
如:
a
ac
acc
addc
等都匹配。

例8
findstr ak5* 123.txt
在文件123.txt中查找出现一个“ak”字符串,以及ak后面出现过0次或者任意次5的字符行。如:
ak
ak5
akbbb
ak125
ak555
等都匹配。


●行首、行尾符规则,即 ^ 和 $

例9
findstr "^step" 123.txt
在文件123.txt中查找行首为step字符串的行。
如:
stepkdka
step 456
这两行都匹配的。

例10
findstr "step$" 123.txt
在文件123.txt中查找行尾为step字符串的行。
如:
123 dstep
123step
这两行也匹配的。

例11
findstr "^step$" 123.txt
在文件123.txt中查找行首为step,且行尾也为step的行,即step独自一行。


● 字符集规则,即[class]
①表示含有集里的任意一个字符的即匹配。
②该字符集里的元素可以是字母和数字和一般的半角字符,如:}{ ,.][等,但双引号"不被识别。不能是汉字, 汉字
不被正确解释(汉字不是ASCII码)。
如果在字符集内插入通配符和重复符号,即"[.*]"将会把. 和 *视为普通字符,没有通配和重复的含义。

例12
findstr "[0-9]" 123.txt
在文件123.txt中查找数字0-9的任意之一的行。
如:
4kkb
1 lkka cc
这两行都匹配。

例13
findstr "[a-zA-Z]" 123.txt
在文件123.txt中查找包括任意字母行。

例14
findstr "[abcezy]" 2.txt
在文件123.txt中查找包括a b c e z y其中任意一字母的行。

例15
findstr "[a-fl-z]" 2.txt
在文件123.txt中查找小写字符a到f 或l到z的任意一字母的行,但不包含g h I j k这几个字母。

例16
findstr "M[abc][123]Y" 2.txt
在文件123.txt中查找可以匹配 Ma1Y , Mb1Y, Mc1Y; Ma2Y , Mb2Y, Mc2Y; Ma3Y , Mb3Y, Mc3Y的行。


● 减法规则,即[^class]

例17
findstr "[^0-9]" 123.txt
如果是纯数字的行便过滤掉,例如2323423423 这样的字符串被过滤,345hh888这样的形式则过滤不了。
注意,纯数字的行不能有空格,不论行首行尾或者是行中都不能有空格,否则过滤失败!

例18
findstr "[^a-z]" 123.txt
如果是纯字母的行便过滤掉,例如 sdlfjlkjlksjdklfjlskdf 这样的字符将被过滤,如果是sdfksjdkf99999这样的形
式则过滤不了。
注意,纯字母的行不能有空格,不论行首行尾或者是行中都不能有空格,否则过滤失败!

例19
findstr "[^add]" 123.txt
过滤仅含有由a d d三个字母组成的纯字母字符串的行。
如:
a
ad
ddaadd
dd
这些行都会被过滤。
注意,仅含有由a d d三个字母组成的纯字母字符串的行不能有空格,不论行首行尾或者是行中都不能有空格,否则
过滤失败!

例20
findstr "[^echo]" 123.txt
过滤仅含有由e  c  h  o 四个字母组成的纯字母字符串的行。
如:
e
c
ec
cho
chooo
这些行都会被过滤。


●单词前缀后缀定位规则,即\<xyz和xyz\>

该xyz可以是英文单词或数字,但不适用于汉字。符号 \ 理解为转义符,化解小于号和大于号的重定向命令含义。
该规则是匹配类似单个英文单词的。

例21
findstr "\<echo" 123.txt
所有含有以echo为前缀的字符串的行,都匹配。
如:
echo:kkk a add
jjkk echo
这两行都匹配。
(思考:为什么:echo也匹配?)

例22
findstr "echo\>" 123.txt
所有含有以echo为后缀的字符串的行,都匹配。
如:
qq bbecho 这一行也匹配。
(思考:为什么kkkk echo:也匹配?)

例23
findstr "\<end\>123.txt
这里是用来精确查找单词。查找单词end的行,
注意:
ended
cdkend
bcd-end-jjkk
这类词都不匹配。
(思考:为什么end echo和end也匹配?因为\<xyz\>格式要查找的是单个英文单词。)


● 转义符 \
把表达式中的特殊字符(元字符)转化为普通字符。常见写法:
\.
\*
\\
\[
\]??
\-

例24
findstr "\.abc" 123.txt
在文件123.txt中查找可以匹配“.abc”字符串的行,这里\。是把。给转义了。

例25
findstr "1\\" 123.txt 或findstr "1\\\\" 123.txt
在文件123.txt中查找可以匹配“1\”字符串的行,这里\\是把\给转义了。

★要查找的字符串含有\时,可以用\\把\给转义;或者把\变成\\\\。如果目标字符串的\后面还有内容,则搜索字符
串\除了要变成\\(本身的转义要求),还可以在它后面再加一个字符,如\\.

看完上述内容,你们对批处理常用DOS中findfindstr命令的示例分析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网精选频道,感谢大家的支持。

--结束END--

本文标题: 批处理常用DOS中findfindstr命令的示例分析

本文链接: https://lsjlt.com/news/253556.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 批处理常用DOS中findfindstr命令的示例分析
    今天就跟大家聊聊有关批处理常用DOS中findfindstr命令的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一.字符串查找:find在文件中搜索字符串。FIND [/V]...
    99+
    2023-06-08
  • dos批处理for循环命令的示例分析
    这篇文章主要为大家展示了“dos批处理for循环命令的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“dos批处理for循环命令的示例分析”这篇文章吧。格式:FOR [参数] %%变量名 ...
    99+
    2023-06-08
  • DOS批处理中变量的示例分析
    这篇文章主要介绍了DOS批处理中变量的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、系统变量他们的值由系统将其根据事先定义的条件自动赋值,也就是这些变量系统已经给...
    99+
    2023-06-08
  • 批处理常用DOS命令有哪些
    批处理常用DOS命令有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一.创建文件夹:mdmd命令用于创建文件夹,下面例子中的路径是可以缺省的,如果缺省则在当前目录下创建...
    99+
    2023-06-08
  • Dos批处理常用命令有哪些
    今天就跟大家聊聊有关Dos批处理常用命令有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 pause  暂停命令find搜索文件或文件内指定的字符串...
    99+
    2023-06-08
  • 批处理常用的DOS命令有什么
    批处理常用的DOS命令有什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、设置文件属性:attrib显示或更改文件属性。ATTRIB [ R | -R] [...
    99+
    2023-06-08
  • 有哪些常用的批处理DOS命令
    这期内容当中小编将会给大家带来有关有哪些常用的批处理DOS命令,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、显示信息:echo  在学习echo命令前我们先在C盘下建一个新文件夹bat,并建...
    99+
    2023-06-08
  • DOS批处理中if命令怎么用
    这篇文章主要为大家展示了“DOS批处理中if命令怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“DOS批处理中if命令怎么用”这篇文章吧。现在开始:在CMD使用IF /打开IF的系统帮助(自...
    99+
    2023-06-08
  • DOS批处理中set命令怎么用
    这篇文章将为大家详细讲解有关DOS批处理中set命令怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、用set命令设置自定义变量显示、设置或删除 cmd.exe 环境变量。SET [variable...
    99+
    2023-06-08
  • DOS批处理中DATE命令怎么用
    这篇文章主要介绍了DOS批处理中DATE命令怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.系统帮助 C:\>date / 显示或设置日期。 DATE [/T ...
    99+
    2023-06-08
  • DOS批处理中扩充变量语法的示例分析
    本篇文章为大家展示了DOS批处理中%~dp0等扩充变量语法的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。有时候我们看到别人使用%~dp0~是扩展的意思,相当于把一个相对路径转换绝对路径%0...
    99+
    2023-06-08
  • 应用dos批处理文件经常用到的DOS常用命令有哪些
    本篇内容介绍了“应用dos批处理文件经常用到的DOS常用命令有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!echo、@、call、pa...
    99+
    2023-06-09
  • git常用命令的示例分析
    本篇文章给大家分享的是有关git常用命令的示例分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。git能敏捷的处理任何大小的项目,因为git是一款免费、开源的分布式版本控制系统...
    99+
    2023-06-28
  • DOS批处理命令For循环命令如何使用
    这篇文章主要介绍了DOS批处理命令For循环命令如何使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。for命令是一种对一系列对象依次循环执行同一个或多个命令的在命令行或批处...
    99+
    2023-06-08
  • 使用批处理的示例分析
    这篇文章将为大家详细讲解有关使用批处理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。批处理程序删除自身.bat echo 有时候我们需要批处理程序在执行完成之后删除自身,可以用 del %0 例...
    99+
    2023-06-08
  • dos批处理命令的使用技巧总结
    本篇内容介绍了“dos批处理命令的使用技巧总结”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!截取字符串: set var=10203040 ...
    99+
    2023-06-08
  • DOS自带的批处理命令有哪些
    本篇内容主要讲解“DOS自带的批处理命令有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“DOS自带的批处理命令有哪些”吧!文件名是由文件路径和文件名称合起来的,如C:\DOS\COMMAND...
    99+
    2023-06-09
  • Shell命令行批量处理图片文件名的示例分析
    小编给大家分享一下Shell命令行批量处理图片文件名的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Shell 命令行批量处理图片文件名前言:从网上下载了...
    99+
    2023-06-09
  • DOS批处理中FOR命令中的变量有哪些
    这篇文章主要介绍DOS批处理中FOR命令中的变量有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!先把FOR的变量全部列出来:     ~I   ...
    99+
    2023-06-08
  • 使用bat批处理的示例分析
    这篇文章将为大家详细讲解有关使用bat批处理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。删除默认共享(别存为bat文件放在开始菜单中):net_share_delete.bat,删除默认共享的...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作