Small, да удал
Самое большое удовольствие, которое я могу получить от использования компьютера – получение на руки гонорара за выполненную на нём работу.
Шучу, шучу. Это удовольствие для меня обычно стоит на втором месте. На первом же – то, что остается от маленького, да удаленького решения какой-нибудь хитрой проблемы, головоломки. Речь идет не о компьютерных играх, а о задачах, которые заставляют начинающих пользователей говорить: «Я не могу это сделать. У меня плохой компьютер».
Такие пользователи могут открыть два офисных приложения и начать перенабирать в Word-е текст, который не умеют скопировать из соседнего окна Excel. На первый взгляд, это может показаться смешным, но наверняка многие из нас в жизни сталкивались с подобными «решениями» поставленных задач.
Впрочем, сегодня речь пойдет не об офисных приложениях. Эти гиганты можно заставить не только набирать тексты, обсчитывать таблицы или принимать почту, но и играть в крестики-нолики. Давайте возьмем приложение попроще.
Что это у вас за дискетка? Вот эта, синенькая? Ба! Да ведь это же всенародно любимый файловый менеджер, Total Commander. Кстати, именно с помощью этой маленькой, но удаленькой утилиты недавно удалось разрешить мелкую, но нудную задачу.
Товарищ попросил меня обработать и собрать в альбом большое количество фотографий из своего архива, который он решил систематизировать. Переданные файлы, были переданы мне в виде кучи папок. Каждая из них содержала несколько снимков и была названа по имени человека, чьи фотографии содержала.
Будучи человеком ленивым, я вознамерился свалить всю принесенную информацию в кучу и при помощи пакетной обработки быстро избавиться от «заказа». От этой идеи пришлось отказаться, так как имена файлов в разных папках часто дублировали друг друга. Кроме того, в результате мне пришлось бы заново сортировать полученную гору фотографий.
Пойти по задуманному пути было бы можно, если переименовать все файлы по имени папки, в которой они находятся. Штатные средства Проводника или Total Commander-а этого не позволяют, поэтому – пристёгиваем прямые руки и принимаемся за творчество.
Итак – решение задачи.
Дано: есть некоторое количество папок, содержащих файлы с произвольными именами.
Надо: для дальнейшей обработки собрать файлы вместе, но при этом сохранить их в отсортированном виде.
Оборудование и материалы: Total Commander версии 6.0 или выше.

Решение: заходим в архив с папками и нажимаем Alt-F7. Оставляем пустой строку поиска и нажимаем клавишу Enter. Программа найдет все файлы, которые находятся. Щелчок по кнопке «Файлы -> панель» покажет найденые файлы в текущей файловой панели Коммандера.

Выделяем все файлы нужного типа и нажимаем Ctrl-M. Эта комбинация клавиш открывает окно группового переименования файлов, в котором мы и сотворим мелкие хитрости.
Шаманские танцы заключются в правильной настройке конечного имени документа при переименовании.

Последние версии Total Commander позволяют использовать при переименовании данные от плагинов, предоставляющих информацию о файле. Они вводятся в строке «Имя файла», которая в нашем случае выглядит так:
[=tc.Путь] ([C] — [N])
Новое имя файла будет содержать путь к нему, плюс счетчик и старое имя файла в скобках. Но Windows не позволяет использовать в имени файла символы «:» и «\», которые содержатся в пути к файлам. Впрочем, они нам и не нужны, поэтому будем избавляться от них, заполнив строки «Найти» и «Заменить на».
Для начала поставим галочку «Регуляные выражения». Она означает, что мы будем искать и заменять не просто последовательность знаков, а выражения, заданные формулами.
Формула вводится в строке «Найти». Я использовал следующую:
.*\\([^\\]*)\\
Читатель, хоть раз пользовавшийся регулярными выражениями, сможет перевести эту формулу на русский язык. Она означает «выделить из текста последовательность символов, содержащуюся между двуми последними найдеными знаками “\” и не содержащую внутри себя этот знак».
В строке «Заменить на» нужно ввести «$1» для замены найденой последовательности на выделенный из нее фрагмент. Таким образом мы, например, заменим «T:\альбом\Иван Иванов\» на «Иван Иванов».
Такие манипуляции вместе с формулой в строке «Имя файла», сделают из файла «img_0147.jpg», расположенного в папке «Иван Иванов», документ с названием «Иван иванов (001 — img_0147).jpg»

Количество цифр в параметрах счетчика я установил равное 3 – этого достаточно, если количество файлов для переименования не превышет 1000 штук.
Осталось только нажать кнопку «Запуск», чтобы начать операцию переименования, провести повторный поиск по папкам и переместить все найденные файлы в надлежащее место для хранения или дальнейшей обработки. Если считаете, что такие формулы переименования вам еще понадобятся, можете сохранить настройки, выбрав пункт «Сохранить» в выпадающем списке «F2 настройка».
Описанный прием – просто маленькая капелька в целом море возможностей, которые мы имеем под рукой обычно не используем, а зачастую даже не подозреваем об их существовании.
Программное обеспечение, завоевавшее популярность, не зря стало таким распространенным. Обычный инструмент позволяет сделать работу, хороший позволяет сделать ее хорошо, отличным можно проделать работу, для которой он изначально не предназначен.
Что же делает отличными ваши инструменты? Быть может, руки, которые их держат?
Успехов вам, и до новых встреч.
Александр Поляков.