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


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


Хороший пример 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

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 . Это очень просто и быстро в использовании. Там приведены очень хорошие варианты для переименования файлов с разными критериями.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.