Как скопировать файлы с двумя свойствами в AppleScript - PullRequest
1 голос
/ 29 апреля 2020

У меня в Ma есть внешнее устройство c, и я хочу скопировать последний обновленный файл этого USB-устройства в мою Ma c (например, .PDF или .jpg). Но у меня всегда есть .ini-файл (который всегда обновляется последним) на этом устройстве, и я не хочу его удалять. Я попытался следующий код, но он не работает

property source : "Folder A:"
property destination : "Macintosh HD:Users:User:Desktop:Folder B:"


with timeout of (30 * 60) seconds
    tell application "Finder"
        set the_file to last item of (sort (get files of folder source whose kind ≠ ".INI") by modification date)
        copy the_file to folder destination
    end tell
end timeout

Еще одна попытка была противоположна, но он также не работает

property source : "Folder A:"
property destination : "Macintosh HD:Users:User:Desktop:Folder B:"


with timeout of (30 * 60) seconds
    tell application "Finder"
        set the_file to last item of (sort (get files of folder source whose kind = ".pdf") by modification date)
        copy the_file to folder destination
    end tell
end timeout

1 Ответ

0 голосов
/ 30 апреля 2020

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

Извините, что редактировал имена ваших переменных. Я позволил себе переименовать переменные в так называемый «случай верблюда». Вы всегда можете изменить их обратно на ваши оригинальные имена, если вы предпочитаете.

property sourceFolder : "Folder A:" -- The Full Path To This Folder Needs To Be Defined
property destinationFolder : "Macintosh HD:Users:User:Desktop:Folder B:"
property nameExtensions : {"jpg", "pdf"}

with timeout of (30 * 60) seconds
    tell application "Finder"
        set theFile to last item of (sort (get files of folder sourceFolder ¬
            whose name extension is in nameExtensions) by modification date)
        copy theFile to folder destinationFolder
    end tell
end timeout
...