Я хочу, чтобы папка распознавала новые файлы, сохраняемые в нее, а затем копировала новые файлы в сопоставленную папку

#applescript #automator

Вопрос:

В macOS я хочу, чтобы действие с папкой запускалось, когда я помещаю новый файл во вложенную папку. Действие должно захватить только что добавленный файл в папку и скопировать его в другую папку, где собраны все последние файлы, которые можно просмотреть вместе. Я также хочу, чтобы скрипт удалил любую старую версию того же файла, который он копирует в сопоставленную папку. Проблема в том, что имена файлов немного отличаются, так как в них указан номер версии. Номер версии для начала определен как «v01a», но может быть изменен на «v01b» или «v01e», «v02a» или «v03c». Поэтому, если файл называется «1234_ProjectName_Image01_COMP_v01a.jpg» уже существует, и новый файл называется «1234_ProjectName_Image01_COMP_v01b.jpg» добавляется файл под названием «1234_ProjectName_Image01_COMP_v01a.jpg» необходимо удалить из папки назначения.

Я несколько раз пытался начать работу в automator, но так и не собрал все необходимое, чтобы это было полезно.

(ИСТОЧНИК)

  • Ежедневные газеты/_внутренние Dailies/_Internal/Image01/1234_ProjectName_Image01_COMP_v01a.jpg Dailies/_Internal/Image02/1234_ProjectName_Image02_COMP_v01a.jpg Dailies/_Internal/Image03/1234_ProjectName_Image03_COMP_v01a.jpg

(ПУНКТ НАЗНАЧЕНИЯ)

  • Ежедневные газеты/_Latest Dailies/_Latest/1234_ProjectName_Image01_COMP_v01a.jpg Dailies/_Latest/1234_ProjectName_Image02_COMP_v01a.jpg Dailies/_Latest/1234_ProjectName_Image03_COMP_v01a.jpg

Если добавляется новый файл, называемый

  • Dailies/_Internal/Image01/1234_ProjectName_Image01_COMP_v02a.jpg

затем этот файл копируется из исходной папки и помещается в папку назначения.

(ПУНКТ НАЗНАЧЕНИЯ)

  • Ежедневные газеты/_Latest Dailies/_Latest/1234_ProjectName_Image01_COMP_v01a.jpg Dailies/_Latest/1234_ProjectName_Image01_COMP_v02a.jpg Dailies/_Latest/1234_ProjectName_Image02_COMP_v01a.jpg Dailies/_Latest/1234_ProjectName_Image03_COMP_v01a.jpg

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

(ПУНКТ НАЗНАЧЕНИЯ)

  • Ежедневные газеты/_Latest Dailies/_Latest/1234_ProjectName_Image01_COMP_v02a.jpg Dailies/_Latest/1234_ProjectName_Image02_COMP_v01a.jpg Dailies/_Latest/1234_ProjectName_Image03_COMP_v01a.jpg

Я ни за что на свете не могу понять, как это сделать, любые идеи будут высоко оценены.

Скриншот моего самого простого автомата здесь

Комментарии:

1. Действие папки не отслеживает вложенные папки — оно должно быть прикреплено к каждой отслеживаемой папке. Меняется ли только часть имени после последнего подчеркивания, и всегда ли добавленный элемент сортируется после существующего?

2. О, хорошо, это позор, значит, нет простого способа вложить его в папку с вложенными папками? У меня могло бы быть 20 или 30 вложенных папок. Да, меняется только часть имени после последнего подчеркивания. Не уверен, что вы имеете в виду под последним наказанием. Это может быть либо номер, либо последняя буква, которая меняется. Он начнется с _v01a, затем перейдет в _v01b, затем _v01c. Это может перейти к _v01f. Затем он может перейти к _v02a, затем _v02c, затем _v02f, затем _v03b. Однако он никогда не будет возвращаться назад по цифрам или буквам

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

4. Как бы я тогда программно добавил новые действия с папками? Да, версия будет только увеличиваться

5. Это из Скрытого набора системных событий — tell application "System Events" to attach action to theFolder using theScript . Как вы выбираете папку для добавления?