Переименовать файлы по списку из файла excel

Обновлено: 05.07.2024

Есть текстовый список, например:
яблоко
груша
апельсин
банан
.

И есть в папке файлы, количество которых равно количеству строк в текстовом списке.

Нужно, чтобы первый по порядку файл в папке переименовался в первую по порядку строку из текстового списка, второй файл - во вторую строку и т.д.

Ищу наиболее автоматизированный способ для такого переименования.
Может есть специальные программы для такого переименования, но сам не нашел.

DenK2, благодарю! :)
Если кто знает еще способы, обязательно пишите.

DenK2, где ж ты раньше был! ((
4 дня назад переименовал почти 500!! файлов копипастом, проклял всё на свете. ;)
Щас поюзал - всё гуд, работает.. )

Маленькая заковыка: при загрузке файла становится неактивным окошко "расширение". Пришлось в 2 этапа переименовывать: сначала имена поменять, потом расширение прикрутить. Но это мелочи - не руками же! ))
------------------
Спасибо.
------------------

Кстати, еще вопросик по Тоталу: если выделяемые файлы для переименования отсортированы не так, как они написаны в текстовом файле - как после загрузки файла с новыми именами переназначить некоторые из них?
То есть, например, есть файлы (и они отсортированы по расширению):
2.doc
1.exe
3.txt
И есть текстовый файл:
один.exe
два.doc
три.txt
То после загрузки файла с новыми именами будет следующее:
2.doc -> один.exe
1.exe -> два.doc
3.txt -> три.txt
Как после этого наглядно переназначить некоторым файлам новые имена?

Маленькая заковыка: при загрузке файла становится неактивным окошко "расширение". Пришлось в 2 этапа переименовывать: сначала имена поменять, потом расширение прикрутить. Но это мелочи - не руками же! ))
Да, есть такое дело.
В общем сделал переименование с помощью трех программ: OpenOffice Writer, OpenOffice Calc и Total Commander. Способ, конечно, громоздкий, кто сделает короче, прошу поделиться.

1.Копируем в ТС имена всех файлов, вставляем в Writer (или Word).
2.Найти и заменить, ставим регулярные выражения, ищем все расширения, т.е. ".doc|.mp3|.txt", копируем их в буфер.
3.Вставляем полученное: ".txt.txt.txt.mp3.doc"
4.Снова поиск и замена, ищем: "\."
заменяем на: "\n.".
Получаем текст:
.txt
.txt
.txt
.mp3
.doc
5.Вставляем в Calc (или в Excel)в первый столбец слова
один
два
три
четыре
пять
6.Вставляем в Calc во второй столбец слова
.txt
.txt
.txt
.mp3
.doc
7.Копируем это всё и вставляем как простой текст в Writer.
8.Т.к. между именем и расширением вставился символ табуляции, снова ищем:
"\t" (регулярные выражения включены!) и заменяем на "", т.е. пустую строку.
В итоге получися нужный список файлов, дальше в ТС переименовать по списку - дело техники.

DenK2, я быстрее программу напишу свою которая будет менять имена всех файлов в папке. Я не программист, но простенький скрипт на аутоите напишу. И не надо лишних программ.

DenK2, я быстрее программу напишу свою которая будет менять имена всех файлов в папке.
sgrey, а мне можешь написать такую программу? :) сколько подобное будет стоить?

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

Я не программист, но простенький скрипт на аутоите напишу. И не надо лишних программ.

ага, надо извращаться непонятно как вместо того чтобы 30 кб экзешник хранить который всё автоматом сделает )

sgrey, а мне можешь написать такую программу? :) сколько подобное будет стоить?

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

и тебе надо переименовывать сотни файлов именами из списка? )

почему именно покупать? а вдруг я бесплатно напишу :razz:

Ну, раз пошла такая пьянка, то вот ещё бесплатная утилита (сам не пользовался, надо вникать):

FileFactory v0.3 beta - плагин для TotalCommander и отдельное приложение, предназначенное для того, что бы делать с файлами всё, что заблагорассудится.
Это включает в себя поиск и замену с регулярными выражениями, переименование файлов и форматирование результатов поиска с помощью простого но мощного скриптового языка, использование WDX плагинов от TotalCommander, составление списка файлов.

и тебе надо переименовывать сотни файлов именами из списка? )
да, бывает такое.

почему именно покупать? а вдруг я бесплатно напишу
будет супер, если напишешь бесплатно :)

Имеется csv файл вида(2 столбца если в excel открывать):
Мертвец (Dead Man cd2)(1995);v:\_Кино\Фильмы(по жанрам)\05 Вестерны\Мертвец(Dead Man)\Dead man(2).avi

Великолепная семерка (The Magnificent Seven cd1)(1960);v:\_Кино\Фильмы(по жанрам)\05Вестерны\Великолепная семерка\The Magnificent Seven CD1.avi
разделитель ; но можно и поменять если надо.


и т.д.
Несколько тысяч таких строк.Все файлы лежат в одной директории v:\_Кино\Фильмы(по жанрам)\

Как можно переименовать все файлы из 2 столбца именами из 1 столбца?

ItarTass, создать второй? и сделать в нем все что нужно? ItarTass, если ты уверен, что порядок Имён (1 столбец) совпадает с порядком расположения самих файлов, то:
1)в excel выдели 1 столбец >> ctrl+c >> создай список1.txt и Вставить - Сохранить.
2)запускаешь Тотал - заходишь в нужную папку - выделяешь файлы - Групповое переименование - в секции "Поиск и замена" клик кнопку (справа от поля "Без изменения") - выбираешь 1 пункт "Load names from file" - находишь список1.txt - Открыть - Выполнить.
--------------
Вроде так. если я правильно понял задачу. ItarTass, Все три файла в одном каталоге
st.cmd
@echo off
cls
for /F "tokens=1,2 delims=;" %%i IN (list.txt) DO myren.cmd "%%i" "%%j"
myren.cmd
@echo off
set my=%2
set my=%my:"=%
set myExt=%my:

PS. Но я бы проверял с опаской. Гарантий дать не могу

да не. в форуме тотала пришел мудрый Толик и написал(ссылок не даю,мне уже раз дали предупреждение за ссылку на официальный сайт эвереста).

Запусти такой .cmd
@echo off &chcp 1251 >nul
setlocal enableextensions
for /f "usebackq tokens=1,2 delims=;" %%f in ("films.csv") do (
echo ren "%%

Изучи получившийся _1.cmd.txt и, если всё правильно, раскомментируй строку ren "%%

xg" и запусти ещё раз

Понятно,что это уже не тотал - но все просто оказалось.

Добавлено через 2 минуты
ItarTass, Все три файла в одном каталоге
st.cmd
@echo off
cls
for /F "tokens=1,2 delims=;" %%i IN (list.txt) DO myren.cmd "%%i" "%%j"
myren.cmd
@echo off
set my=%2
set my=%my:"=%
set myExt=%my:

PS. Но я бы проверял с опаской. Гарантий дать не могу

респект я не проверял в силу того ,что уже дали решение,но спасибо уже за то ,что не отослали в тотал.

ItarTass, если ты уверен, что порядок Имён (1 столбец) совпадает с порядком расположения самих файлов, то:
1)в excel выдели 1 столбец >> ctrl+c >> создай список1.txt и Вставить - Сохранить.
2)запускаешь Тотал - заходишь в нужную папку - выделяешь файлы - Групповое переименование - в секции "Поиск и замена" клик кнопку (справа от поля "Без изменения") - выбираешь 1 пункт "Load names from file" - находишь список1.txt - Открыть - Выполнить.
--------------
Вроде так. если я правильно понял задачу.

Не совпадает.Написано же в главном посте.

Мой коллега по моей просьбе как-то написал мне скрипт на vbs. Идея в следующем:
Скрипт отложенных файловых операций

Задача
Есть исходный список файлов и путей - c:\source.txt (можно настроить кнопку в Totalc Commander)
Мы хотим, чтобы он выглядел как c:\destination.txt
Открываем Excel и начинаем правку. Возможностей при работе с таблицей гораздо больше, чем в Mass Rename из тотала

Особенности:
- При отсутствии папки (перенос в подпапку) скрипт создает требуемое;
- Скрипт ведет лог операций.

Пример: переименование файлов track001.mp3 исходя из найденного в интернете описания альбома музыкальной группы.

Данная команда поможет быстро переименовать сразу множество указанных файлов. Можно назначить переименование с нумерацией или на основании списка. Файлы могут быть любого типа - Excel, Word, картинки, текстовые и т.д.

Просматривать файлы:

  • только выбранные - после нажатия кнопки ОК появится диалоговое окно, в котором необходимо выбрать файлы для переименования
  • все в папке - после нажатия кнопки ОК появится диалоговое окно выбора папки. Выбирается папка, файлы в которой необходимо просмотреть и переименовать
      включая подпапки - доступно для пункта все в папке. Если установлен, то файлы будут просматриваться не только в указанной папке, но и во всех вложенных в неё папках до самой глубоко вложенной. Если отключен, то файлы будут просматриваться исключительно в указанной папке.

    Метод переименования:

    Таблица переименования

    • Только нумерация - имена всех выбранных файлов переименовываются в порядковые номера - 1, 2, 3 и т.д.
    • Нумерация с префиксом - в поле указывается префикс(на примере это - новый_ ), который будет добавлен перед номером файла. После нажатия ОК и указания файлов, выбранным файлам будут даны имена с указанным префиксом и порядковым номером. В приведенном выше примере файлы будут переименованы в: новый_1 , новый_2 , новый_3 , новый_4 и т.д. Если префикс не указан, то появится предупреждение и поле можно оставить пустым. Однако даже если непосредственно префикс не указан, нижнее подчеркивание все равно будет добавлено перед нумерацией( _1 , _2 , _3 , _4 ).
    • Сопоставление - переименовывает файлы по списку. В первом столбце указанного диапазона записывается текущее имя файла, а во втором - новое, которое надо дать файлу после переименования. К примеру на рисунке ниже файл с именем Картинка_1 будет переименован в Цветы , файл Фото в Пейзаж , а Книга1 в Прайс .
      рис.2
      В ячейках должны быть записаны только имена файлов, без расширения (.jpg, .xls,.docx и т.д.).
      Для создания списка файлов для переименования можно воспользоваться командой Путь к файлу(выбрав только имена файлов -без расширения типа файла). Это поможет избежать ошибок неверного написания имени файла.
      Если файл из указанного диапазона будет отсутствовать среди выбранных файлов, то он не будет переименован. Однако это не вызовет ошибки выполнения

    Переименованные файлы:

    • Оставить в исходной папке - будут переименованы исходные файлы. Отменить данную операцию нельзя.
    • Переместить в папку - все переименованные файлы будут перемещены в указанную папку.
        перемещать копии файлов - доступно для пункта Переместить в папку. Если установлен, то переименованы и перемещены будут копии исходных файлов. Исходные файлы при этом остаются без изменений. Если отключен, то переименовываются исходные файлы. Отменить данную операцию нельзя.

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

      Читайте также: