Как я могу переименовать несколько картинок одновременно?

13

Например, у меня есть 20 фотографий, загруженных из Интернета. У них есть сумасшедшие имена, такие как «XFGHDHR345» или «SDEREWQ230», и я хочу назвать их:

"Изображение 1"
"Изображение 2"
"Изображение 3"
"Изображение 4"
"Изображение 5"
.....
"Изображение 20"

Я не хочу печатать их один за другим. Я хочу поменять их имена сразу.

Есть ли способ сделать это?

Аве Малефикум
источник
Для тех, у кого есть фотошоп, он отлично справляется с этой задачей.
bassplayer7

Ответы:

16

Используя встроенный инструмент «Automator», вы можете определить рабочий процесс для пакетного переименования файлов.

Для этого вам необходимо:

  1. Откройте Automator и найдите его с помощью Spotlight или в / Applications
  2. Создать новый рабочий процесс
  3. Введите попасть в поле поиска введите описание изображения здесь

  4. Прокрутите до конца списка элементов и перетащите Получить указанный элемент из списка действий « Файлы и папки» на левой панели и перетащите его на правую панель.

  5. Нажмите кнопку Добавить и найдите ваши файлы
  6. Добавьте действие Sort Finder Items с последующим переименованием Finder Items
  7. На панели «Переименовать элементы Finder» выберите «Сделать последовательным» и «Добавить номер к» Picture
  8. Нажмите кнопку воспроизведения , и все готово

Посмотрите здесь или здесь пример учебников по вашей конкретной задаче переименования под рукой. Отличный обзор того, что делает Automator и насколько мощным (и простым) он может быть в качестве личного помощника - см. Веб-страницу http://macosxautomation.com/automator/index.html

Franquis
источник
Хороший пример Automator - он явно предназначен для очистки файлов фотографий. Я добавлю в ресурсы дедушки Automator, mac Saxhoian macosxautomation.com/automator/index.html
bmike
13

Да, вы можете использовать терминал:

  1. Например, переместите все свои изображения во временную папку на рабочем столе Temp.

  2. Откройте Приложения> Утилиты> Terminal.app.

  3. Изменить каталог на Temp:

    cd ~/Desktop/Temp
    

    где ~расширен до вашего домашнего каталога (то есть /Users/<yourusername>.)

  4. Запустите составную команду оболочки:

    n=1; for file in *; do mv "$file" "Picture $n"; let n++; done
    

    где:

    • for ...; do ...; doneциклы над вашими 20 файлами. fileпеременная, которая содержит имена файлов. Смотрите эту статью для получения дополнительной информации.

    • n, изначально установленный в 1 и увеличенный на единицу в каждой итерации с let n++, является целочисленным суффиксом для переименованных файлов.

    • mv "$file" "Picture $n"переименовывает файлы $nэто значение переменной n.

    Команда оболочки эквивалентна:

    mv SDEREWQ230 "Picture 1"
    mv XFGHDHR345 "Picture 2"
    mv YWUU7738DT "Picture 3"
    (...)
    

Для получения дополнительной информации о оболочке bash смотрите man bash . Для получения дополнительной информации о сценариях оболочки см. Это руководство на веб-сайте Apple для разработчиков.

Жауме
источник
1
Это намного лучшее объяснение использования оболочки для обработки файловых изменений, чем у нас там . Конечно, этот пример представляет собой простое редактирование - все файлы с шаблоном ABC необходимо переименовать в 123, так что это должно быть немного сложнее. +2 если бы у меня было два голоса.
bmike
@Jadav Я не думаю, что ты правильно считаешь нажатия клавиш здесь. Даже если вы нажмете вокруг Finder и нажмете Enter на каждом, а не нажмете, сценарий будет более эффективным, даже если вы делаете только 20 изображений.
зигг
По сравнению с решением Automator! Но новее, чем меньше, это впечатляющее программирование на вашей стороне.
Jadav
4

Если вы хотите заполнить нулями цифры или файлы имеют разные расширения:

i=1; for f in *; do mv "$f" Picture\ $(printf %03d $i).${f#*.}; let i++; done

Больше примеров:

# lowercase (Bash 4) and replace spaces with underscores
for f in *; do f2=${f,,}; mv "$f" "${f2// /_}"; done

# number based on modification date
IFS=$'\n'; i=1; for f in $(ls -rt *.jpg); do mv "$f" $(printf %04d $i).jpg; let i++; done

# file-5.jpg to file-005.jpg
for f in *; do b=${f%.*}; x=${f#*.}; mv "$f" "${b%-*}-$(printf %03d ${b#*-}).$x"; done
LRI
источник
HOLA @Lauri Ranta, это был английский :), или компьютер дымит после того, как сделал это с ним?
Jadav
4

Если у вас есть Yosemite, он встроен в Finder. Просто выберите файлы, щелкните правой кнопкой мыши и выберите «Переименовать n файлов». Затем измените выпадающий список на «Фильтр» и вуаля! У вас есть опции пакетного переименования!

Иеремия Эрбс
источник
Вот это да! Еще не заметил этого. Также включает в себя параметры для добавления текста и некоторые более интересные действия по форматированию. Операция отменяется Finder.
странствующий незнакомец
Вот это да! Спасибо тебе за это. Не могу поверить, что переименование около 50 изображений заняло всего 1,5 секунды. Тогда @badabamn, это решение было еще быстрее !!! Спасибо всем!
JJ Spelman
3

Если вы не хотите использовать Терминал или Automator, для этого есть коммерческие приложения с графическим интерфейсом. Одним из них является A Better Finder Rename , который имеет бесплатную пробную версию.


источник
+1 для ABFR - хотя он стоит $ 20, он довольно легко справляется с этой конкретной задачей, где начальные имена файлов являются случайными, а также со многими другими более сложными задачами пакетного переименования.
calum_b
Мне всегда нравится указывать на возможность использования коммерческих служебных приложений с приятным графическим интерфейсом, потому что многие случайные пользователи считают, что использование терминала или Automator слишком сложно для некоторых задач. ABFR является примером изысканного продукта, который очень гибок и хорошо работает. Для многих пользователей потратить 20 долларов - это лучший вариант, чем изучение сложности редко используемых текстовых команд. Вы можете решить, какой вариант использовать.
3

Я буду рекомендовать здесь приложение NameChanger . Это очень просто и быстро в использовании. Там приведены очень хорошие варианты для переименования файлов с разными критериями.

iNeal
источник