Что касается findstr, я бы добавил / i, чтобы вызвать нечувствительность к регистру. Для работы не нужно просто перенаправлять вывод, просто выводится на экран. / s будет искать текущий каталог и все подкаталоги. Если вы укажете каталог, он будет искать этот каталог и все его подкаталоги:
findstr /i /s "google" .\*
Кажется, что требуется "*".
findstr /i /s "google" c:\temp\*
Я провел некоторое тестирование перед публикацией и кажется, что если вы не укажете c «*», он просто будет работать вечно.
Что касается перенаправления вывода, мой первый инстинкт должен был использовать или «>>» для перенаправления stderr и добавления в файл. Однако, это, кажется, не уважает окончания строки! Вывод выполняется в виде одной строки.
С помощью чистого PowerShell вы можете использовать вместо него Get-ChildItem с Select-String & Out-File.
Get-ChildItem -Recurse -File |
Select-String -pattern "google" |
Out-File c:\temp\select-String-test.txt -Append
Если вы начинаете поиск в root из c: \ вы неизбежно получите какие-то кроваво-красные ошибки, запрещающие доступ. Обычно меня не волнуют эти файлы, поэтому я добавлю -ErrorAction SilentlyContinue
Надеюсь, это поможет.