Ilyansk
Junior Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору ой, чтой-то опоздал я с ответом... Mgrom Тут конечно нужен батник у меня есть батник собирающий в архив из указанных мест DOC и XLS имеющие встроенные VBA программы. Привожу его здесь. Ищется словосочетание module= Код: @echo off setlocal ENABLEDELAYEDEXPANSION set "places=C:,D:,E:,F:,Z:\bin,Z:\home" echo Collecting all VBA files from !places! ... echo. set "out=c:\vba_list" if exist !out! del !out! for /F "tokens=* delims=," %%Z in ("%places%") do call :work %%Z set pt=%0 echo Starting archeving ... rar u -ep3 -inul %pt:~0,-16%\all_VBA @!out! goto :eof :work if "%1"=="" goto :eof for /F "tokens=* delims=`" %%a in ('findstr /s /i /m /c:"module=" %1\*.xls %1\*.doc') do echo %%a >> !out! echo place %1 done... shift goto :work | Он перебирает диски и указанные папки, запуская в каждом из них findstr, который сам умеет "шарить" по поддиректориям. Строки, возвращенные findstr'ом разбираются строкой or /F "tokens=* delims=`" %%a in ('findstr /s /i /m /c:"module=" %1\*.xls %1\*.doc') do echo %%a >> !out! которая формирует список файлов в переменной out. замените places= и строку module= в findstr на нужные и будет искать что надо и где ; так же поможет findstr /?, for /? Ай, Вам же копировать надо! Хм... Щас... после RAR u ... поставьте RAR e -ep -inul %pt:~0,-16%\all_VBA *.* <путь куда копировать> и у Вас будет архивная копия скопированных файлов. Если это излишне, то правтся место do echo %%a >> !out! на copy "%%a" <путь куда копировать> из файлов с однаковыми именами останутся последние найденные Успехов | Всего записей: 70 | Зарегистр. 27-07-2006 | Отправлено: 12:44 10-02-2009 | Исправлено: Ilyansk, 13:23 10-02-2009 |
|