Удалить JPG в динамической папке - PullRequest
0 голосов
/ 12 июня 2018

Мне нужно действие automator, которое может удалять jpgs из динамического пути к папке.

По сути, я хотел бы присоединить действие к папке «template», а затем скопировать / вставить эту папкуза каждую фотосессию.Затем все jpgs, загруженные в новую папку, будут удалены.

Возможно ли это?Не знаю, с чего начать.

1 Ответ

0 голосов
/ 12 июня 2018

Создание действия папки с помощью Automator:

Следующие шаги описывают, как этого добиться

  1. Запустить Automator.
  2. Тип ⌘N или выберите File> New в строке меню.
  3. Выберите Folder Action и нажмите Выберите
  4. В верхней части холста, рядом сгде написано «Папка Действие получает файлы и папки, добавленные в»
    • Выберите Other из выпадающего меню.
    • Найдите папку Template (т.е. папка, к которой вы хотите прикрепить действие).
    • Нажмите Выберите
  5. Выберите Library в верхней части панели./ столбец слева:
    • В поле поиска введите: Получить содержимое папки и перетащите действие Get Folder Contents в область холста.
    • Включите Флажок «Повторить для каждой найденной подпапки» в верхней части действия Get Folder Contents (то есть в том, что вы только что добавили в область холста)
  6. ВыберитеLibrary в верхней части панели / столбца слева снова:

    • В поле поиска введите: Фильтр элементов поиска и перетащите действие Filter Finder Items на холст.площадь.Поместите его под ранее добавленное действие Get Folder Contents.
    • В действии Filter Finder Items, которое вы только что добавили в область холста, настройте его, как показано на рисунке ниже:

      enter image description here

      Примечание. Расширение файла установлено на jpg

  7. ВыбратьLibrary в верхней части панели / столбца слева снова:

    • В поле поиска введите: Переместить элемент поиска в корзину и перетащите действие Move Finder Item To Trash вобласть холста.Поместите его под ранее добавленное Filter Finder Items действие.
  8. Введите ⌘S или выберите File> Save в строке меню.Давайте назовем файл delete-jpegs.

    Файл будет сохранен в:

    ~/Library/Workflows/Applications/Folder Actions/
    

Использование действия папки:

После сохранения файла Automator с именем delete-jpegs (согласно шагу 8 выше) вы можете начать добавление файлов изображений (или любых файлов / папок) в Template папка, которую вы выбрали на шаге 4. Любые файлы с расширением .jpg теперь будут перемещены в Корзина (Может быть небольшая задержка, пока не будет запущено действие папки) .

Повторное использование действия папки в другой целевой папке:

... прикрепить действие к папке «template», а затем скопировать / вставить эту папкудля каждой фотосессии.

Настроенное действие с папкой будет удалено при дублировании папки с помощью macOS.Поэтому вы не можете «копировать / вставлять эту папку для каждой фотосессии» .

Однако вы можете добавить / включить действие папки delete-jpegs в другой / новой папке.Для этого:

  1. В Finder , Ctrl + Нажмите в другой / новой папке, чтобы отобразить контекстное меню, и выберитеServices> Folder Actions Setup
  2. Когда вам предложат «Выберите скрипт для вложения» :
    • Выберите delete-jpegs.worflow из списка.
    • Нажмите Вложить
  3. В окне «Настройка действий с папками» вы должны увидеть два столбца .
    • В столбце слева перечислены папки с прикрепленным действием,
    • , а в столбце справа перечислены действия, связанные с каждой папкой.
    • Каждый элемент можно включить / отключить, установив флажки.

Очистка корзины:

Вы заметили, что до сих пор .jpg изображения перемещаются только в корзину и не удаляются как таковые.Чтобы фактически очистить Trash , вам нужно добавить еще одно действие / шаг в область холста с помощью Automator следующим образом:

  1. После шага 7 (выше)выберите Library вверху панели / столбца слева снова:

    • В поле поиска введите: Запустите AppleScript и перетащите действие Run AppleScript в область холста, поместив его под действием Move Finder Item To Trash.
    • Полностью замените значение по умолчаниюсценарий в действии Run AppleScript со следующим кодом AppleScript:

      tell application "Finder"
          empty trash
      end tell
      
  2. Чтобы сохранить изменения, введите ⌘S иливыберите File> Save

Внимание: Это последнее действие / шаг очистит корзину - включая любые файлы / папки, которые могут уже существоватькоторые не были добавлены пользовательским действием папки delete-jpegs.


Для справки:

Ниже приведен общий обзор ожидаемого порядка действий в области холста.:

┌─────────────────────────────────────────┐
│                                         │
│    Folder Action receives files         │
│    and folders added to FOLDER_NAME     │
│                                         │
├─────────────────────────────────────────┤
│                                         │
│  ┌───────────────────────────────────┐  │
│  │ Get Folder Contents               │  │
│  ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤  │
│  │ ✔ Repeat for each subfolder found │  │
│  └─────────────────┬─────────────────┘  │
│                    │                    │
│  ┌─────────────────┴─────────────────┐  │
│  │ Filter Finder Items               │  │
│  ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤  │
│  │ Find files where:                 │  │
│  │ All of the following are true     │  │
│  │    File extension is jpg          │  │
│  └─────────────────┬─────────────────┘  │
│                    │                    │
│  ┌─────────────────┴─────────────────┐  │
│  │ Move Finder Items to Trash        │  │
│  └─────────────────┬─────────────────┘  │
│                    │                    │
│  ┌─────────────────┴─────────────────┐  │
│  │ Run AppleScript                   │  │
│  ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤  │
│  │  tell application "Finder"        │  │
│  │    empty trash                    │  │
│  │  end tell                         │  │
│  └───────────────────────────────────┘  │
│                                         │
└─────────────────────────────────────────┘
...