我有一个包含许多* .inf文件的文件夹。我想在每个文件的内容中搜索字符串prolific
。如果其中一个文件包含prolific
,那么它应该返回该文件的名称,以便我可以对其进行其他操作,如删除或重命名。
我是新手。这是我最初的努力,但它不起作用,我不知道从哪里开始。 (我相信几年前我可以做到这一点,但我已经忘记了一切。)
@echo OFF
For %%a (%windir%\inf\oem*.inf) do (
for /f "skip=2 tokens=*" %%b in ('find "prolific" "%%a"') do (
Echo %%~nx# >> "%~dp0\output.txt"
)
)
Pause
答案 0 :(得分:2)
这可以使用 FINDSTR :
通过一个命令行完成%SystemRoot%\System32\findstr.exe /I /M "prolific" %SystemRoot%\inf\oem*.inf >>"%~dp0output.txt"
打开命令提示符窗口并运行findstr /?
以获取有关Windows标准控制台应用程序的帮助。
/I
...搜索不区分大小写的
/M
...仅输出包含搜索字符串的文件名。
注意:以%~dp0
引用的批处理文件的驱动器和文件夹路径始终以反斜杠结束。所以不要添加额外的反斜杠。