如何强制`findstr`忽略`无法打开`返回

Foa*_*oad 2 windows cmd findstr

我正在尝试使用findstr在文件夹中搜索寻找一些字符串:

findstr /spin /c:"string" *
Run Code Online (Sandbox Code Playgroud)

但是它返回了很多Cannot open错误,这使我很难找到找到的确切匹配项。

使用Cmder命令时:

grep -r "string" .
Run Code Online (Sandbox Code Playgroud)

我收到Permission denied相同文件夹的错误。如果我使用命令:

grep -rs "string" .
Run Code Online (Sandbox Code Playgroud)

它给了我很好和干净的结果。是否有类似的标志findstrcmd命令组合来执行相同的操作?

已经有一些关于findstr Cannot open错误的帖子,解释了什么是错误的以及如何解决它,但我不在乎它为什么会发生。我只希望命令忽略这些Cannot open行并仅打印出完全匹配的行。

Fat*_*Hit 6

您可以使用2>nul

FINDSTR /SPIN /C:"string" * 2>nul
Run Code Online (Sandbox Code Playgroud)

这会将标准错误流通过管道传递给 null(阅读更多),因此只显示匹配项。