Potrzebuję aplikacji AppleScript na pulpicie, aby oglądać folder, również na pulpicie, dla plików, które zostały do niego przeniesione.
Do tej pory mam:
global folderSpool
tell application "Finder" to set folderSpool to folder "Spool" of desktop
on adding folder items to folderSpool after receiving the_files
repeat with each_file in the_files
set theDialogText to "File is: " & (each_file) & "."
display dialog theDialogText
end repeat
end adding folder items to
Kiedy eksportuję skrypt jako aplikację, ustawiam go na: „Pozostań otwarty po uruchomieniu programu obsługi”. Następnie otwieram aplikację i utrzymuję ją w działaniu.
Jednak po przeniesieniu plików do folderu „Spool” nic się nie dzieje.
Wypróbowałem tę on idle
opcję, ale nadal tworzyło dialog po dialogu, zamiast robić to po przeniesieniu plików do folderu.
Jakieś pomysły?
finder
applescript
Wayne Smallman
źródło
źródło
Odpowiedzi:
Polecenie, którego używasz „przy dodawaniu elementu folderu”, jest specyficzne dla akcji folderu, więc nie będzie działać w skrypcie akcji innym niż folder. Zgadzam się z innymi, że akcja folderu jest najlepszym sposobem na poradzenie sobie z tym, ale jeśli naprawdę chcesz to zrobić bez niego, możesz utworzyć otwartą aplikację, która będzie sprawdzać zawartość folderu i porównywać go z ostatnim uruchomieniem i wyświetla różne pliki. Zmień właściwość runInterval, aby działała z preferowaną częstotliwością.
Uwaga: Dla uproszczenia napisałem to tylko w celu sprawdzenia plików dodanych do folderu buforowania. Możesz go ulepszyć, aby sprawdzał również, czy nie ma usuniętych plików, powielając drugą sekcję w poniższym kodzie i przechodząc przez spoolFiles i sprawdzając, czy są one w currentFiles.
Kod AppleScript, jako aplikacja pozostająca otwarta, poniżej:
źródło