windows查找文件位置及查找文件中目标字符串dos命令

2023-10-27


在文件中搜索指定字符串时,建议使用findstr而非find.

查找文件位置的命令用where.

find 在文件中搜索字符串。

FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]

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

如果没有指定路径,FIND 将搜索在提示符处键入的文本或者由另一命令产生的文本。

说明:

  • 指定一个字符串

    如果不使用/i,find将会精确查找指定的字符串string。例如,find命令以不同方式处理字符“a”和“A”。但是,如果使用/i,则find不区分大小写,并将“a”和“A”视为相同的字符。

  • 如果要搜索的字符串包含引号,则必须对字符串中包含的每个引号使用双引号(例如, “This ““string”” contains quotation marks”)。

  • 使用find作为过滤器

    如果省略文件名,则find充当过滤器,从标准输入源(通常是键盘,管道(|)或重定向文件)获取输入,然后显示包含String的任何行。

  • 命令语法

    您可以按任何顺序为find命令键入参数和命令行选项。

  • 使用通配符

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

  • 使用带回车符的find

    在查找命令不能识别回车。当您使用find在包含回车的文件中搜索文本时,必须将搜索字符串限制为可在回车之间找到的文本(即,不太可能被回车中断的字符串)。例如,如果在"tax" and "file."之间发生回车,则find不会报告字符串“tax file”的匹配项。

eg:

find "Pencil Sharpener" pencil.ad

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

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

% 要搜索硬盘以查找并显示包含字符串“CPU”的驱动器C上的文件名,请使用管道(|)将dir命令的输出定向到find命令,如下所示:%
dir c:\ /s /b | find "CPU"
% 由于查找搜索区分大小写且dir生成大写输出,因此必须以大写字母键入字符串“CPU”或使用带有find的/ i命令行选项。%


% 当前目录以及当前目录的所有子目录下的所有文件中查找"main"这个字符串 %
dir /S | find "main"

findstr 在文件中寻找字符串。


FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/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"。

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

说明:

正则表达式语法中的特殊字符在一起使用时具有最大的功能。例如,使用以下通配符(.)和repeat(*)字符组合来匹配任何字符串:

.*

使用以下表达式作为较大表达式的一部分,以匹配以“b”开头并以“ing”结尾的任何字符串:

b.*ing

示例:

除非参数以/c为前缀,否则请使用空格分隔多个搜索字符串。

要在文件xy中搜索“hello”或“there”,请键入:

findstr "hello there" x.y

要在文件xy中搜索“hello there”,请键入:

findstr /c:"hello there" x.y

要在Proposal.txt文件中查找所有出现的“Windows”(带有首字母大写字母W),请键入:

findstr Windows proposal.txt

要在当前目录和所有子目录中的每个文件中搜索单词Windows,无论字母大小写,请键入:

findstr /m /s /i Windows *.*

要查找以“FOR”开头并且前面有零个或多个空格(如在计算机程序循环中)的所有行,并显示找到每个匹配项的行号,请键入:

findstr /b /n /r /c:"^ *FOR" *.bas

要在一组文件中搜索多个字符串,请在单独的行上创建包含每个搜索条件的文本文件。您还可以列出要在文本文件中搜索的确切文件。例如,要在文件Stringlist.txt中使用搜索条件,请搜索Filelist.txt中列出的文件,然后将结果存储在Results.out文件中,键入:

findstr /g:stringlist.txt /f:filelist.txt > results.out

要列出当前目录和所有子目录中包含单词“computer”的每个文件,无论大小写,请键入:

findstr /s /i /m "\<computer\>" *.*

要列出包含单词“computer”的任何文件以及以“comp”开头的任何其他单词(例如“compliment”和“competition”),请键入:

findstr /s /i /m "\<comp.*" *.*

where 显示符合搜索模式的文件位置

WHERE [/R dir] [/Q] [/F] [/T] pattern...

描述:
    显示符合搜索模式的文件位置。在默认情况下,搜索是在当前目录和PATH环境变量指定的路径中执行的。

参数列表:
    /R       从指定目录开始,递归性搜索并显示符合指定模式的文件。
    /Q       只返回退出代码,不显示匹配文件列表。(安静模式)匹配文件。(安静模式)
    /F       显示所有相配文件并用双引号括上。
    /T       显示所有相配文件的文件的文件。

    pattern  指定要匹配的文件的搜索模式。通配符 * 和 ? 可以用在模式中。
             也可以指定 "$env:pattern""path:pattern" 格式; 其中
             "env" 是环境变量,搜索是在 "env" 变量的指定的路径中执行的。
             这些格式不应该跟 /R 一起使用。此搜索也可以用将 PATHEXT 变
             量扩展名附加于此模式的方式完成。

     /?      显示此帮助消息。

  注意: 如果搜索成功,此工具返回错误级别 0; 如果不成功,返回 1; 如果失败或发生错误,返回 2。

示例:
    WHERE /?
    WHERE myfilename1 myfile????.*
    WHERE $windir:*.*
    WHERE /R c:\windows *.exe *.dll *.bat
    WHERE /Q ??.???
    WHERE "c:\windows;c:\windows\system32:*.dll"
    WHERE /F /T *.dll

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

windows查找文件位置及查找文件中目标字符串dos命令 的相关文章

  • 由于权限被拒绝,无法绑定到某些端口

    在过去 3 个月左右的时间里 我遇到了随机错误 无法绑定身份服务器在本地开发工作站上运行的特定端口 起初我以为是我的机器坏了 所以我重置了所有东西 这在两个月内解决了这个问题 现在它又回来了 与此同时 其他开发人员也看到了同样的问题 我们所
  • Windows 7 和 Windows 8(桌面/Metro)中的 Internet Explorer 10 有何不同?

    Windows 7 和 Windows 8 上的 IE10 桌面模式和 或 Metro 模式 有什么区别 像 渲染差异 包括硬件加速 DX 过滤器和媒体查询 JS 差异 例如触摸事件 窗口大小调整 插件差异 它们对 Flash 的沙箱处理方
  • 窗口的打开事件和窗口句柄

    如何从刚刚打开的 Outlook 窗口获取窗口句柄 IntPtr OutLook Items items oFolder Items foreach OutLook MailItem mail in items mail Display I
  • 生成唯一硬件 ID 的可靠方法

    问题 我必须为每个联网客户端提供唯一的 ID 例如 一旦客户端软件安装在目标计算机上 它 ID 应该持续存在 并且如果在同一台计算机和相同的操作系统安装上重新安装软件 它应该继续存在 如果以大多数方式修改硬件配置 除了更改主板 它不应该改变
  • 尝试从 Polar H10 获取心率变异性 [蓝牙低功耗示例 UWP]

    我正在与 Polar H10 合作 从中获取心率变异性 我在跑步蓝牙低功耗示例 https github com Microsoft Windows universal samples tree master Samples Bluetoo
  • Windows/C++:是否可以找到抛出具有“异常偏移”的异常的代码行

    我们的一位用户在我们的产品启动时遇到异常 她从 Windows 向我们发送了以下错误消息 Problem Event Name APPCRASH Application Name program exe Application Versio
  • 如何从 Python (2.7) 中生成的进程中消除 Windows 控制台? [复制]

    这个问题在这里已经有答案了 可能的重复 在没有控制台的情况下使用 Popen 在 python 中运行进程 https stackoverflow com questions 1813872 running a process in pyt
  • VC++ 中的 getopt()

    我非常喜欢使用 GNUgetopt http www gnu org software libtool manual libc Getopt html 当在Linux 据我所知 getopt 在 MS VC 下不可用 Note Win32环
  • 从 IPConfig 获取 IP 地址,稍后在代码中使用,或保存 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 是否可以运
  • 在运行时拖动窗体上的控件

    我刚刚开始使用 WPF 但我正在尝试添加我的代码 来自 Winforms 使用户能够在运行时将任何控件拖动到他们想要的任何位置 但我似乎无法获取鼠标当前的位置 呃 没有鼠标位置 在 Mouse 事件中 您可以使用 e GetPosition
  • 没有工作树就无法使用 Git-Windows-git-pull

    我在 Windows 上遇到与 Git 相关的问题 无法从 git 上的存储库中提取更改 我能够添加 提交和推送我的更改 但不能拉取 它给了我一个错误 致命 C Git libexec git core git pull 不能在没有 工作树
  • 批处理文件中的 %* 是什么意思?

    我见过的用法 在批处理文件和命令行中 有人可以解释一下的典型用法吗 有一个例子吗 它的意思是 命令行中的所有参数 例如 当您想要将命令行从批处理文件转发到另一个程序时 它非常有用 REM mybatchfile cmd echo You c
  • 以系统帐户运行exe

    我正在尝试将我的 c exe 作为系统帐户运行 我怎样才能做到这一点 我试过了
  • 安装 confluence-kafka 时“文件名或扩展名太长”?

    我在使用 pip install confluence kafka 安装 confluence kafka 时遇到一些问题 但我收到此错误 文件名或扩展名太长 详细信息如下 Collecting confluent kafka Using
  • 如何检测媒体是否已插入可移动驱动器/读卡器

    我有一个读卡器 未插入记忆棒 当我插入计算机时 它在 我的电脑 中显示一个空驱动器 是否有可能知道驱动器是否有媒体 抱歉我不知道如何称呼它 或没有 我找到的建议MSalters to use IOCTL STORAGE CHECK VERI
  • 尝试在 Windows 上执行 package.json 中的脚本会引发 JScript 错误

    所以我正在尝试构建 javascriptair site 在 的里面package json有一个 npm 脚本指向 javascript 命令 package scripts 找到该存储库https github com kentcdod
  • 查找-exec选项

    比如说 我想找到一些文件并执行 chmod 并使用另一个命令对其执行某些操作 例如 find name txt exec chmod 666 cp dst it says find missing argument to exec 我该如何
  • 识别 Windows 版本

    我正在编写一个打印出详细 Windows 版本信息的函数 输出可能是这样的元组 32bit XP Professional SP3 English 它将支持 Windows XP 及更高版本 我一直坚持获取 Windows 版本 例如 专业
  • 使用 Composer 安装 PHPUNIT

    我有一个关于 Symfony 2 的项目 我想在 Windows 7 上使用 PHPUNIT On githut phpunit is Composer Simply add a dependency on phpunit phpunit
  • Windows 上任何单个进程可以寻址的最大内存量

    Windows 版本的内存限制 http msdn microsoft com en us library windows desktop aa366778 28v vs 85 29 aspx回答 Windows 上任何单个进程可以寻址的最

随机推荐