Переименование файлов последовательно по мере их добавления в папку с помощью Automator или Applescript

Мне нужно последовательно переименовывать файлы изображений по мере их добавления в папку. т.е. image-0001.jpg и image-0002.jpg находятся в папке добавляю test.jpg и переименовывается в image-0003.jpg. Я пробовал функцию автоматического переименования, но она будет начинаться с image-0001.jpg каждый раз, когда добавляется новый файл, вместо продолжения последовательности.

Любая помощь приветствуется.


person micahmills    schedule 15.04.2011    source источник


Ответы (2)


Вы можете упростить себе задачу, используя встроенное в ОС удобное приложение под названием «Действия с папками». Действия с папками содержат один или несколько специальных обработчиков, официально известных как обработчики событий действий с папками, которые запускаются, когда они инициируются изменением в целевой папке. Я знаю, что путаю, но я сделаю все возможное.

То, что вы пытаетесь выполнить, требует обработчика событий adding folder items to. Для этого требуется один прямой параметр, который может быть любым, например target_folder. Обработчику также требуется дополнительный параметр; after receiving, которое также должно быть именем переменной, то есть these_items. Я написал для вас сценарий, который должен помочь. Я добавил комментарии, которые показывают вам, что я делаю, когда я это делаю. Вот:

on adding folder items to the target_folder after receiving these_items
    tell application "Finder"
       set all_images to every item of the target_folder as list
       repeat with i from 1 to the count of these_items --iterates through all the items you dropped in the folder
          set this_image to item i of these_items --the current image
          set the name of this_image to "image" & (i + the count of all_images) as string --renames the image based on the number of images already in the folder
       end repeat
    end tell
end adding folder items to

УРА! Скрипт готов! Но мы закончили? Не совсем. Нам все еще нужно прикрепить скрипт к папке (скрипт не запустится, если вы попытаетесь выполнить его в редакторе скриптов).

Для этого сначала сохраните сценарий как файл сценария в папке «Сценарии действий папки» в папке «Сценарии» либо в локальной папке библиотеки, либо в папке библиотеки текущего пользователя. Создайте папку самостоятельно, если она еще не существует. Затем запустите приложение «Настройка действий с папками», дважды щелкнув его в папке AppleScript в папке «Приложения». В появившемся окне нажмите кнопку + под таблицей слева (установите флажок «Включить действия с папками», если он еще не установлен), чтобы открыть стандартный лист файлового браузера, перейдите к нужной папке и нажмите "Открытым". Автоматически откроется лист Выберите сценарий для прикрепления со списком всех сценариев во всех папках Сценарий действия папки. Выберите только что созданный скрипт, нажмите «Прикрепить», и БАМ, готово!

Чтобы увидеть скрипт в действии, перетащите изображение в папку. Изображение мгновенно переименовывается, независимо от того, открыто ли окно папки. Если у вас есть какие-либо вопросы или скрипт не работает, просто спросите меня. :)

person fireshadow52    schedule 04.07.2011

хорошо, не копаясь в каком-то коде и не вручая вам ответ, я скажу вам, что вы хотите сделать

это создать цикл while, который проверяет наличие изображения-000 и i, где i, конечно, является переменной, и если он существует, увеличивайте i, а затем, когда файл не существует, переименуйте ваш файл.

person mcgrailm    schedule 15.04.2011