1

Я пытался сделать каплю Automator, которая удаляет файлы определенного расширения из каталога. Мой рабочий процесс имеет 3 действия (когда я не отлаживаю):

  1. Получить содержимое папки (повторяется для каждой подпапки)
  2. Filter Finder Items (Расширение файла "part")
  3. Переместить элементы Finder в корзину

Это №2, кажется, доставляет мне проблемы. Независимо от того, что я делаю, никакие файлы никогда не проходят через его фильтр. Когда я раскрываю результаты для получения содержимого папки и любых других действий Finder, я всегда вижу файлы в результатах. Но даже когда я указываю самые разрешающие фильтры, это действие никогда ничего не производит.

Если вы хотите отладить это, просто вставьте новое действие вверху: Получить указанные элементы Finder, перетаскивая на любой каталог, в котором есть какие-либо файлы - хотя технически "Фильтрующие элементы Finder" также должны иметь возможность возвращать папки.

Обновить

Я сейчас на льве, и вижу точно такое же поведение. Я также попытался заменить критерии шага 2 на «Имя оканчивается на« часть »», но это тоже не имело значения. В конечном итоге я написал AppleScript, который выполнил ту же задачу (см. Ниже).

3 ответа3

1

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

0

Я написал AppleScript для выполнения той же задачи, но я не приму этот ответ, так как я все еще думаю, что что-то не так с Automator (или я не понимаю что-то фундаментальное в этом). Это AppleScript для капли, которая принимает одну или несколько папок и удаляет все файлы, заканчивающиеся на .part и работает уже несколько месяцев безупречно (на Snow Leopard и Lion).

on open theItems

    repeat with theItem in theItems
        set theInfo to info for theItem

        --Verify dropped items are folders
        if not folder of theInfo then
            my warnUser(theInfo's name)
        else
            --Empty out the .part files
            my removePartFiles(theItem)
        end if
    end repeat
end open

on run
    my warnUser(missing value)
    -- Used for debugging
    --my removePartFiles("Macintosh HD:Users:Username:Some Test Folder:" as alias)
end run

-- Calls itself recursively
on removePartFiles(RootDirectory)
    tell application "Finder"
        delete (every file of RootDirectory whose name ends with ".part")

        set subFolders to folders of RootDirectory
        repeat with eachFolder in subFolders
            my removePartFiles(eachFolder)
        end repeat
    end tell
end removePartFiles

on warnUser(itemName)
    set msg to "Please drop folder(s) onto me"
    if itemName is not missing value then set msg to "'" & itemName & "' is not a folder"

    display alert msg as warning buttons {"OK"} default button "OK"
end warnUser
0

Кажется, что недавно добавленные файлы в папку (как ранее в рабочем процессе) отсутствуют в результатах. Например, посмотрите мое прикрепленное изображение моего рабочего процесса (первое - просто получить содержимое папки).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .