Наверное, вы правы. Я этот вариант рассматривал только когда пытался делать кроссплатформенный проект на Qt. В этом контексте мне это в голову не пришло.
Век живи-век учись!
1. про grep -r точно ничего не знал :)
2. Что такое UNICODE — сам хотел бы выяснить! Открываю в windows-блокноте текстовый файл и прошу «сохранить как», а он мне пишет «выберите кодировку»: UNICODE, UTF-8, ANSI! Вот что он имел в виду??? И почему скрипт сохраняет в этой кодировке, если я сам скрипт сохранил в ANSI, а сохранение текста идёт через JavaScript «Scripting.FileSystemObject»?
Разобрался!
В методе объекта «Scripting.FileSystemObject».openAsTextStream([iomode, [format]]); аргумент format имеет несколько значений, из них -1 — UNICODE, 0 — ASCII. У меня было установлено "-1". Вот это и было завуалированной проблемой, вынудившей меня искать решение с перекодировкой! А я-то думал что-то с grep не в порядке, хотя предполагал, что он должен уметь искать в подкаталогах. Сейчас проверил изменение [format] на 0 (ASCII): и grep заработал, и findstr тоже ищёт нормально!
Точно не ASCII. На символах вне ASCII (типа китайских и азиатских) не проверял, но размер файла превышает количество символов в два раза, да и разные редакторы показывают, что кодировка — utf-8.
я б в консоли винды перебрал циклом файлы и вывел искомые значения.
findstr поддерживает регулярки, формат полученных результатов тоже можно организовать «красиво».
Собственно, у меня была похожая задача — парсить в винде сырцы Миранды в поисках строк с текстом для перевода. На выходе получались готовые к переводу строки.
Посмотреть код можно тут
Тут я коснулся этой проблемы, потому что она у меня как заноза была — почему-то с ходу не решалась, хотя по обработке текста у меня большой опыт (говорю это без стеснения, потому что один из результатов моего труда был напечатал в виде большого справочника на 800 страниц, 2000 экз., уровень грамотности и точность которого стала возможна благодаря использованию в работе yandex.server и регулярные выражения). Как известно, имея большое опыт в какой-либо области трудно решать простые задачи простыми методами (Высшим приколом по этой теме я считаю задачу про двух чаек, которая курсирует между идущими навстречу друг другу паровозами, и как Винер решил её интегрированием, а не простым умножением). А вот такая мелочь долгие годы (!!!), почему-то лично для меня оставалась тайной.
Поиск текста по подкаталогам