Próbuję zrobić zdarzenie kalendarza automatora, gdzie w każdy piątek usuwa pliki, których data modyfikacji jest starsza niż 30 dni; ZWOLNIJ pliki w folderach oznaczonych kolorem czerwonym.
Mam swój folder Dokumenty z 3 plikami, jeden folder utworzony dzisiaj i oznaczony na czerwono, folder ostatnio zmodyfikowany tydzień temu oraz plik PDF, który został zmodyfikowany ponad 30 dni temu.
Mój skrypt automatyzacji wygląda następująco:
[Find Finder Items] Wyszukaj "Dokumenty", WSZYSTKIE poniższe są prawdziwe:
-Date last modified is not in the last 30 days
-Label is not red
[Przenieś przedmioty do śmieci do kosza]
//koniec
Ale przenosi to folder z czerwoną etykietą i starszy plik pdf, kiedy powinien tylko przenieść plik PDF do kosza.
Czy ktoś może mi pomóc? Dziękuję Ci!
Edycja: Uruchomienie macOS 10.13.3
źródło
tell application "Finder" to get every file in the (path to documents folder) whose modification date > ((current date) - 30 * days) and label index is not 2
. Jeśli to działa zgodnie z oczekiwaniami, możesz zamienićget
dladelete
.Odpowiedzi:
Moja pierwsza sugestia dotycząca problemu polegała na zastąpieniu działań, które obecnie posiadasz Automator przepływ pracy z Uruchom AppleScript akcja, która używa tego polecenia:
Następnie musisz dodać akcję, aby wyrzucić te elementy lub zmienić
get every item
dodelete every item
w skrypcie. Jednak jako @ user3439894 zauważyłem, że nie będzie to przechodzić przez drzewa folderów, więc wszelkie elementy w folderze starszym niż 30 dni (i bez oznaczenia na czerwono) nie zostaną wykryte.Poniższy skrypt jest przykładem metody, która używa rekurencji do przechodzenia przez drzewo katalogów usuwających pliki (lub oznaczając je do usunięcia) w trakcie:
Przetestowałem to krótko na mojej dość złożonej strukturze drzewa i okazało się, że działa z powodzeniem. Jednak piszę to i testuję, będąc dość zmęczonym, ale niezależnie od tego, zawsze radziłbym przetestować ten skrypt sam na fałszywych plikach i folderach, aby upewnić się, że działa. Prosimy o raportowanie, jak to działa, łącznie z ewentualnymi błędami, z określonymi szczegółami, w jaki sposób mogę samodzielnie odtworzyć błąd.
źródło