Chciałbym użyć Hazel (automatyzatora systemu plików opartego na regułach) dla systemu macOS, aby automatycznie przenosić pliki audio mixtape z jednego folderu do drugiego, jeśli ich czas trwania jest dłuższy niż 30 minut.
Hazel nie zapewnia wbudowanej metody sprawdzania długości pliku audio (o której wiem), ale zapewnia możliwość uruchamiania reguł, jeśli warunek AppleScript zostanie spełniony, tj return true
.
Sądząc z poniższego zrzutu ekranu, myślę, że to działa, jeśli length of theFile > 30*60 seconds: return true
(pseudo kod) .
Nie jestem jednak pewien, jak to osiągnąć za pomocą AppleScript. Wszelkie pomysły, jak to zrobić lub od czego zacząć? Wyszukiwanie online nie dostarczyło wielu podstawowych pomysłów, ale wydaje się możliwe.
Uwaga : Udzielanie porad na temat AppleScripts jest poza zakresem AFAIK obsługi Hazel, więc nie mogę uzyskać od nich żadnej pomocy.
do shell script
poleceniem , aby działać szybciej, a następnie kliknąć na poniższy:”
do shell script
komenda , która będzie ustawionatheResult
natrue
lubfalse
czy można dowiedzieć się, jak ją przekazaćtheFileName
:set theResult to (do shell script "[[ $(afinfo -r '" & theFileName & "' | awk '/estimated duration:/{print int($3/60)}') -gt 30 ]] && echo 'true' || echo 'false'") as boolean
. Możesz następnie dodać ten wiersz po nim,return theResult
a będzie on równoważnyreturn true
lubreturn false
odpowiednio.