Спасибо за предложения. Я имел в виду Windows Vista и XP.
Я также обнаружил этот обходной путь, используя бесплатные Sysinternals strings.exe
:
C:\> strings -s -b dir_tree_to_search | grep regexp
Strings.exe
извлекает все найденные строки (из двоичных файлов, но отлично работает и с текстовыми файлами) и добавляет каждый результат к имени файла и двоеточию, поэтому примите это во внимание в регулярном выражении (или используйте команду cut или другой шаг) в трубопроводе). -s
делает рекурсивное извлечение, а -b
просто подавляет баннерное сообщение.
В конечном счете, я все еще немного удивлен, что ведущие утилиты поиска Gnu grep
и findstr
не обрабатывают кодировки Unicode изначально.