Applescript «Пометить и переместить» больше не работает (High Sierra) - PullRequest
0 голосов
/ 08 мая 2018

Во-первых, позвольте мне подчеркнуть, что у меня почти нет опыта работы с Applescript. По профессии я разработчик Oracle, поэтому, пожалуйста, примите во внимание, что мои знания равны нулю, поэтому я был бы признателен, если бы вы действительно поняли ваш ответ.

Я написал этот скрипт около года назад, и он внезапно перестал работать. Я предполагаю, что обновление macOS (на High Sierra) больше не переносит мой, вероятно, плохо написанный сценарий.

on run {input, parameters}

repeat with theFile in input

    set FileName to theFile as text
    tell application "Finder"
        if FileName ends with "-xs.jpg" then
            --label value, 0 is no label, 1 Orange, 2 Red, 6 Geen
            set the label index of file FileName to 6
            move FileName to folder "Macintosh HD:Users:Karla:Pictures:FTP:basket-[xs]:" with replacing

        else if FileName ends with "-sm.jpg" then
            set the label index of file FileName to 1
            move FileName to folder "Macintosh HD:Users:Karla:Pictures:FTP:thumbnails-[sm]:" with replacing

        else if FileName ends with "-lg.jpg" then
            set the label index of file FileName to 2
            move FileName to folder "Macintosh HD:Users:Karla:Pictures:FTP:main-[lg]:" with replacing

        else if FileName ends with "-xlg.jpg" then
            set the label index of file FileName to 5
            move FileName to folder "Macintosh HD:Users:Karla:Pictures:FTP:large-[xlg]:" with replacing

        end if
    end tell
end repeat
return input
end run

Я получаю сообщение об ошибке «Действие« Запустить AppleScript »обнаружило ошибку:« Программа Finder получила ошибку: Не удается установить файл »Macintosh HD: Пользователи: Карла: Изображения: 1-ИЗОБРАЖЕНИЯ-ТО-ДЕЛ: изображение1- lg.jpg "до 2".

Если я закомментирую тегирование и попытаюсь просто выполнить перемещение, я получу сообщение «Действие« Запуск AppleScript »обнаружило ошибку:« Искатель получил ошибку: Не удается получить папку »Макинтош HD: Пользователи: Карла: Изображения : FTP: Main- [LG]:

""

Edit:

Я также пробовал:

on run {input, parameters}
    repeat with the_input_file in input
        set FileName to POSIX file (the_input_file as alias)
    end repeat    
    return input
 end run

но получите ошибку В действии «Запустить AppleScript» обнаружена ошибка: «Не удается получить файл POSIX (псевдоним» Macintosh HD: пользователи: Karla: Pictures: file.jpg »).»

Снова отредактируйте:

Так вот, где я. Я создал капельку следующим образом:

on open theDroppedItems
    set lg_folder to POSIX path of "Macintosh HD:Users:Karla:Pictures:test1:"
    repeat with current_item_cnt from 1 to count of theDroppedItems

    -- load the next file in the_file
    set the_current_file to item current_item_cnt of theDroppedItems
    move file the_current_file to lg_folder
end repeat
end open

И я все еще получаю ошибку -1728 в файле. "Не удается получить файл (псевдоним \" Macintosh HD: пользователи: Карла: картинки: test1: test-lg.jpg \ ")." номер -1728 из файла (псевдоним "Macintosh HD: пользователи: Карла: картинки: test1: test-lg.jpg")

Я потратил 2 дня на сценарий, который раньше работал, а теперь по необъяснимым причинам не пытается выполнять свою настоящую работу. Это должно сделать мою жизнь проще.

1 Ответ

0 голосов
/ 14 мая 2018

Попробуйте использовать этот код для своей капли ...

property folderXS : "Macintosh HD:Users:Karla:Pictures:FTP:basket-[xs]"
property folderSM : "Macintosh HD:Users:Karla:Pictures:FTP:thumbnails-[sm]"
property folderLG : "Macintosh HD:Users:Karla:Pictures:FTP:main-[lg]"
property folderXL : "Macintosh HD:Users:Karla:Pictures:FTP:large-[xlg]"

on run
    --  Executed when the script is launched

    set theFiles to choose file with prompt ¬
        "Choose Files" multiple selections allowed true ¬
        without showing package contents

    repeat with theFile in theFiles
        set FileName to theFile as text
        tell application "Finder"
            if FileName ends with "-xs.jpg" then
                --label value, 0 is no label, 1 Orange, 2 Red, 6 Green
                set the label index of file FileName to 6
                move FileName to folder folderXS with replacing
            else if FileName ends with "-sm.jpg" then
                set the label index of file FileName to 1
                move FileName to folder folderSM with replacing
            else if FileName ends with "-lg.jpg" then
                set the label index of file FileName to 2
                move FileName to folder folderLG with replacing
            else if FileName ends with "-xlg.jpg" then
                set the label index of file FileName to 5
                move FileName to folder folderXL with replacing
            end if
        end tell
    end repeat
    return theFiles
end run


on open theDroppedItems
--  Executed when files are dropped on the script

    set lg_folder to "Macintosh HD:Users:Karla:Pictures:test1"
    repeat with current_item_cnt from 1 to count of theDroppedItems
        set the_current_file to item current_item_cnt of theDroppedItems
        tell application "Finder"
            move file the_current_file to lg_folder
        end tell
    end repeat
end open
...