PDA

Показать полную графическую версию : Раскаковка файлов с архива по маске и поиск в них текста


VitProff
02-08-2019, 12:20
Помогите пожалуйста решить задачу.

Есть папка с множеством архивов.
Нужно с всех этих архивов распаковать все файлы по маске name*.txt в отдельную папку
После распаковки искать в каждом из файлов текст "code".
Если текст не найден в файле тогда удалять этот файл а те файлы в которых текст найден оставлять в папке

На выходе нужно чтоб остались только файлы в которых есть искомый текст.

Заранее благодарю за помощь!

Busla
02-08-2019, 12:26
Так "помогите решить" или "сделайте всё за меня"?
Что конкретно у вас вызывает затруднения?

megaloman
02-08-2019, 16:17
@Echo Off
cls
Set "ArcIn=Z:\Box_In\*.rar
Set "BoxOut=Z:\Box_Out\UnARC"
Set "MaskOut=я19*.bat"
Set "Word=chcp 1251"

If Not Exist "%ArcIn%" (Echo Files "%ArcIn%" not found &Pause &Exit /B 2)
If Not Exist "%BoxOut%\*.*" 2>nul Md "%BoxOut%"
2>nul Md "%BoxOut%\tmp"
Pushd "%BoxOut%\tmp" ||(Echo Folder "%BoxOut%" not found or not accessible &Pause &Exit /B 2)

"C:\Program Files\WinRAR\WinRAR.exe" e -y "%ArcIn%" "%MaskOut%"
Popd

For /F "usebackq delims=" %%a In (`2^>nul FINDSTR /I /M /L /C:"%Word%" "%BoxOut%\tmp\%MaskOut%"`) Do (
>nul Move /Y "%%a" "%BoxOut%\"
)

Rd /S /Q "%BoxOut%\tmp"
Pause
Exit /B




© OSzone.net 2001-2012