Batch file 如何在多个文件中搜索特定字符串并返回包含该字符串的所有文件的名称?

Batch file 如何在多个文件中搜索特定字符串并返回包含该字符串的所有文件的名称?,batch-file,cmd,Batch File,Cmd,我有一个包含许多*.inf文件的文件夹。我想在每个文件的内容中搜索字符串prolific。如果其中一个文件包含多产文件,则它应返回该文件的名称,以便我可以对其执行其他操作,如删除或重命名该文件 我是新来的。这是我最初的努力,但它不起作用,我不知道从这里走到哪里。(我相信我几年前就可以做到这一点,但我已经忘记了一切。) 这可以通过使用FINDSTR的单个命令行完成: %SystemRoot%\System32\findstr.exe /I /M "prolific" %SystemRoot%\in

我有一个包含许多*.inf文件的文件夹。我想在每个文件的内容中搜索字符串
prolific
。如果其中一个文件包含多产文件,则它应返回该文件的名称,以便我可以对其执行其他操作,如删除或重命名该文件

我是新来的。这是我最初的努力,但它不起作用,我不知道从这里走到哪里。(我相信我几年前就可以做到这一点,但我已经忘记了一切。)


这可以通过使用FINDSTR的单个命令行完成:

%SystemRoot%\System32\findstr.exe /I /M "prolific" %SystemRoot%\inf\oem*.inf >>"%~dp0output.txt"
打开命令提示窗口并运行
findstr/?
以获取有关此Windows标准控制台应用程序的帮助

/I
。。。搜索不区分大小写
/M
。。。仅输出包含搜索字符串的文件名

注意:
%~dp0
引用的批处理文件的驱动器和文件夹路径始终以反斜杠结束。因此,不要添加额外的反斜杠

%SystemRoot%\System32\findstr.exe /I /M "prolific" %SystemRoot%\inf\oem*.inf >>"%~dp0output.txt"