Страница 1 из 1

Групповое переименование со сложным условием

Добавлено: Вт фев 07, 2012 12:10
skpro
Добрый день!

Ситуация: словил вирус, который заблочил очень большое количество файлов на сетевом ресурсе (порядка 10000 файлов)

Что сделано: найдена "лечилка", которая разблокировала файлы, но сделала это созданием копий.

Пример: был файл Отчет по реализации.doc, а стал Отчет по реализации~decodedB.doc.err. Другими словами, маска новых имен выглядит как [ИмяФайла]~decodedB.[РасширениеФайла].err

Задача: найти файлы расшифрованные, удалить следы переименования и перезаписать поверх оригинальных битых файлов.

Засада: стандартным способом TC ругается что такие файлы в каталоге уже существуют. Для этого я искал файлики с decodedB, и делал групповое переименование с удалением ненужных символов

Help!

Добавлено: Вт фев 07, 2012 13:08
MVV
Может, проще будет скопировать всю структуру каталогов (разумеется, только файлы типа *~decodedB.*.err) в другое место, там переименовать, а потом перенести всю структуру обратно с заменой?

Добавлено: Вт фев 07, 2012 13:26
skpro
Хороший способ. Вот только как это сделать? :oops:

Добавлено: Вт фев 07, 2012 14:24
MVV
Ну как, выделяешь папки верхнего уровня, F5, внизу есть поле "Только файлы типа:", вписываешь там *~decodedB.*.err. Тотал скопирует структуру, в которой будут только файлы, удовлетворяющие маске. Затем в скопированных папках Ctrl+B, *, Ctl+M... Дело техники.

Добавлено: Вт фев 07, 2012 15:08
skpro
Flasher
по первому вашему способу: нашел все файлы по маске, вывел на панель, скопировал названия файлов без каталогов, загрузил в блокнот, удалил ненужные куски из имен, вернулся в ТС, вывел файлы без подкаталогов, нажал "выделение - загрузить выделение из буфера", выделил почему то только три файла (экспериментировал на 160 файликах) :(

по второму можно чуть подробнее расписать, как этим пользоваться

Добавлено спустя 6 минут:

MVV

Спасибо большое. По вашему методу все получилось :P

Добавлено: Вт фев 07, 2012 15:09
Flasher
Привожу исправленный алгоритм здесь (предыдущий пост удалён).
1. В корневой папке выполнить команду "файлы без подкаталогов".
2. Выполнить выделение (cm_SelectFiles) по маске *~decodedB*.*.
3. Сохранить выделение в файл (cm_SaveSelectionToFile).
4. Открыть этот файл в редакторе, произвести массовое удаление ненужных кусков, сохранить.
5. Загрузить выделение из этого файла (cm_LoadSelectionFromFile).
6. Удалить все выделенные.
7. Выделить опять по маске п.2.

Про второй можно забыть. Там не действуют регулярки.