Иногда возникает потребность в групповом переименовании файлов, с которым не справляется Total Commander. Для таких целей я сделал небольшую программу на основе языка VBA для Excel, которая позволяет использовать мощные средства обработки строк самого Excel.
В этой статье я расскажу только о том, как пользоваться самой программой. А примеры, коих может быть очень большое количество, будут в отдельных статьях.
Итак. Скачиваем по ссылке книгу Excel https://forms.gle/6X8fU9q3rc3KLLcw8
После того, как книга Excel скачана, открываем ее.
Книга «RenameFilesUnicode.xlsm» сделана в формате 2007-го Excel. Т.е. желательно чтобы у вас на компьютере был Excel не ниже 2007-го.
После открытия книги excel спросит можно ли разрешить редактирование этой книги, нажимаем «Разрешить редактирование»
Далее необходимо включить макросы, нажав кнопку «Включить содержимое»
Все эти действия делаются однократно для конкретного файла, далее excel запомнит ваш выбор и будет просто открывать книгу не задавая вопросов.
Для пользователей, отлично владеющих excel я опишу краткий алгоритм действий, а потом его подробно расшифрую.
Последовательность работы с программой следующая:
- Кнопкой «Файл» читаем необходимые файлы;
- Любым способом в столбцах «Новое имя» и «Новое расширение» изменяем имена и расширения на такие как нужно;
- Выделяем нужные файлы для переименования, или делаем это автоматически с помощью кнопки «Выделить»;
- Переименовываем файлы кнопкой «Переименовать»;
- При необходимости сбрасываем цвета у переименованных файлов;
Теперь все то же самое подробно:
1.С помощью кнопки «Файл» выбираем папку, из которой нужно прочитать все файлы и нажимаем «ОК». Файлы читаются также из всех подпапок.
В данном примере я прочитаю все файлы из папки «Музыка» на диске D
Если при чтении файлов возникнет ошибка с доступом к какой-либо папке или файлу, то в конце чтения вам будет выдано окно, которое предупреждает что были ошибки
Список этих ошибок можно посмотреть на листе «Ошибки»
В данном примере доступ к подпапке «2021 Plus grandir» запрещен.
Если все прочиталось без ошибок вы просто увидите полный список всех файлов
2.В столбцах «Новое имя» и «Новое расширение» изменяем имена и расширения на такие как нужно. В данном примере с помощью групповой замены я уберу скобки из названий и немного облагорожу названия песен.
Выделяю песни, CTRL+H – вызываю групповую замену, меняю «(» на пустой символ, нажимаю «Заменить все»
И при попытке замены я получаю такое сообщение
Это от того, что изначально первые три столбца помечены как защищенные, и установлена защита листа. Это сделано для того, чтобы случайно не изменить данные в столбцах, где хранятся исходные данные.
Придется снять защиту листа, так как групповое переименование не работает на защищенном листе. Нажимаем правой клавишей мышки на название листа и выбираем «Снять защиту листа»
Когда защита снята групповая замена работает
Теперь заменяю строку «) [Mylene Farmer]» на пробел
И получаю в результате вот такие названия
Для второго альбома также групповым переименованием делаю формат названия песен аналогичным первому альбому
3.Выделение нужных срок для переименования.
После того как названия всех файлов сформированы, мне необходимо выделить названия файлов, которые я хочу переименовать. Я могу это сделать вручную удерживая CTRL на клавиатуре и нажимая мышкой в нужные названия файлов
или нажав кнопку «Выделить». При этом в столбце «Имя файла» выделятся только те файлы, названия которых или расширение было изменено.
В моем случае выделилось все, кроме файла «cover.jpg»
4.Переименовываем выделенные файлы нажимая кнопку «Переименовать»
Перед ответственным делом нужно еще раз подтвердить свое действие
!!! ВНИМАНИЕ. В отличии от Total Commander отменить переименование нельзя, поэтому будьте аккуратны!
Если файл переименовался удачно, то он помечается салатовым цветом
Если переименование файла завершилось неудачей, он будет выделен красным цветом
5.Чтобы повторно работать с переименованными файлами без перечитывания папки, можно нажать кнопку «Сбросить цвета»
При этом у файлов, которые переименовывались остается жирный шрифт.
6.Кнопка «Очистить список» принудительно полностью очищает список.
!!! Список так же автоматически очищается при чтении списка файлов через кнопку «Файл»
!!! Не забывайте про список запрещенных символов в названии файла
\ — разделитель подкаталогов
/ — разделитель ключей командного интерпретатора
: — отделяет букву диска или имя альтернативного потока данных
* — заменяющий символ (маска «любое количество любых символов»)
? — заменяющий символ (маска «один любой символ»)
» — используется для указания путей, содержащих пробелы
< — перенаправление ввода
> — перенаправление вывода
| — обозначает конвейер
+ — (в различных версиях) конкатенация
Спасибо, очень полезный набор макросов. Еще было бы удобно добавить отдельный макрос на проставление по желанию активных гиперссылок в столбце B — путь к файлу.
Себе сделал, так — очень удобно
Спасибо, Иван!
Мысль интересная, добавлю!
Надеюсь не будете против, что отредактировал ваш файл
Можно скачать тут https://drive.google.com/file/d/1zZFzfYBO6KZmCV75T9xWDPyrbvjKTAZ8/view?usp=sharing
Допилил файл под себя, может тоже кому пригодится:
— добавил гиперссылки на папки с файлами в столбец В
— добавил проверку и запрет ввода запрещенных знаков \ / : * ? » | в имени файла и расширении в столбцах Е и F
— добавил в столбцы вывода размера (с подсчетом общего размера всех файлов в выбранной папке), даты создания и изменения файла
— добавил сортировку файлов по имени в столбце С и фильтры по столбцам
— добавил проверку условным на повторяющиеся новые имена файлов (можно сделать и проверку на имя+расширение, как в этом примере https://www.planetaexcel.ru/techniques/9/69/ но у меня сильно тормозило если миллион ячеек проверять формулой), поэтому оставил только по имени. Можно и макросом заморочиться и предупреждение выводить если находятся одинаковые имена после выделения.
— убрал автозащиту листов, т.к. неудобно все время снимать защиту 🙂
— добавил подсказки по использованию макросов
— немного поменял оформление для удобства
Конечно не против!!! 🙂
Я рад что моя работа послужила исходным толчком!
Еще немного изменений
Добавления:
Существенное ускорение при считывании большого количества файлов
Сброс установленного Автофильтра при очистке, переименовании
Добавлен подсчет количества файлов в выбранной папке
Убрано:
Необходимость нажатия кнопки «Выделить измененные» при переименовании файлов
Скачать по той же ссылке из сообщения от 1 октября, 2022
Огромное спасибо!
Огромное пожалуйста!
спасибо.