PDA

Показать полную графическую версию : [решено] автоматизация удаления файлов их множества архивов


CRi
29-12-2012, 01:47
здравствуйте.

начнем издалека, после работы одного вирусняка (шифровал локальные базы 1с) во всех папках и во всех архивах на компьютере появилось два файла - один тхт (с указаниями куда деньги слать :) ) второй как бы "логотип" кулхацкера.
но суть не в этом, файлы успешно восстановлены без каких-либо финансовых вложений, от грязи в системе избавился. осталось избавится от этих чертовы файлов повсюду. просто из папок легко вычистил через поиск, а вот как быть с архивами..

собственно, суть вопроса: необходима помощь знатоков в составлении скрипта на распаковку множества архивов находящихся, к примеру в заданной папке D:\archives1\, удаление из распакованных файлов этой сладкой парочки (названия этих двух файлов всегда статично - "sultan.jpg" и "чтобы расшифровать файлы прочтите это.txt") и запаковку архивов обратно (путем для создания нового архива, например, D:\archives2\ чтобы не затирать сразу старые версии).
названия исходных архивов разные, формат .zip. содержимое разнородное, в некоторые упакованы целые ветки папок (и в каждой отдельной папке, разумеется, своя копия этой пары файлов).

не знаю насколько такой цикл с перебором архивов, их содержимого и сохранением их названия в переменную, можно реализовать в рамках .bat файла... если это невозможно, то пойдет любой другой оптимальный скриптовый язык.

на компьютере сейчас установлен из архиваторов только 7z, но если будет необходимо, то поставлю любой другой.

gora
29-12-2012, 08:59
@Echo Off
:: Кодировка файла - Кириллица DOS (866)
Set old=D:\archives1
Set new=D:\archives2

For /F "delims=" %%a In ('Dir "%old%\*.zip" /A:-D /B 2^>nul') Do (
Copy "%old%\%%a" "%new%\%%a">Nul
"%ProgramFiles%\7-Zip\7z.exe" d "%new%\%%a" "чтобы расшифровать файлы прочтите это.txt" "sultan.jpg" -r
)
Pause

CRi
30-12-2012, 00:01
все работает.
большое спасибо!




© OSzone.net 2001-2012