Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Другие языки > скрипт для поиска строки в файлах


Автор: Torn@do 9.11.2010, 14:24
Привет.
Есть задача проверить текстовые файлы на содержание некоторой последовательности символов. 
Можно искать в файлах с помощью команды find в батнике, но надо рекурсивно перебрать все файлы в каталогах и подкаталогах и т.д. пока не будут проверены все файлы. Не знаю как это сделать. 

ps. Не обязательно в батнике. Можно любым способом, ОС - Windows 7 и ХР.

pps. Пробовал Notepad++, работает, но долго.

Автор: Lipetsk 9.11.2010, 16:09
все-таки можно и батником
но быстрее чем Notepad++, думаю, не получится

Автор: Torn@do 27.11.2012, 17:44
Код

@echo off
rem Цикл по файлам java и css
for /R %%p in (*.java *.css *.jsp) do (
  rem Если в пути не встречается \dist\ или \.SVN \build\ то вызывается процедура search, в которую передаётся путь к файлу
  echo "%%p" | find /I "\DIST\" >> null || echo "%%p" | find /I "\.SVN" >> null || echo "%%p" | find /I "\BUILD\" >> null || call :search %%p
)

goto :end

:search %1
  echo Search in %1
  rem поиск ">>>>>>>" или "<<<<<<<" в переданном пути и обрезание лишнего вывода команыд find
  find /N /I ">>>>>>>" "%1" | find /I ">>>>>>>" && echo ">>>>>>>" was found in %1
  find /N /I "<<<<<<<" "%1" | find /I "<<<<<<<" && echo "<<<<<<<" was found in %1
exit /b 

:end
echo Done.



Но notepad++ действительно быстрее

Автор: Lipetsk 27.11.2012, 18:47
ведь 2 года прошло ;)

сейчас я бы сделал на Lua

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)