Me gustaría utilizar Hazel (un automatizador del sistema de archivos basado en reglas) para MacOS para mover automáticamente los archivos de audio de las cintas mixtas de una carpeta a otra, si su duración es superior a 30 minutos.
Hazel no proporciona un método incorporado para comprobar la longitud del archivo de audio (que yo sepa), pero proporciona la capacidad de ejecutar reglas si se pasa una condición de AppleScript, es decir return true
.
A juzgar por la captura de pantalla de abajo, creo que funciona si length of theFile > 30*60 seconds: return true
(pseudocódigo) .
Sin embargo, no estoy seguro de cómo lograr esto a través de AppleScript. ¿Alguna idea de cómo hacerlo o por dónde empezar? Una búsqueda en línea no proporcionó muchas ideas básicas, pero parece ser posible.
Nota : Dar consejos sobre AppleScripts está fuera del alcance del soporte de Hazel AFAIK, así que no puedo obtener ninguna ayuda de ellos.
2 votos
No tengo Hazel, así que no puedo probar con él y por qué un comentario frente a una respuesta, sin embargo aquí es un AppleScript
do shell script
comando que fijarátheResult
atrue
ofalse
si puedes averiguar cómo pasarlotheFileName
:set theResult to (do shell script "[[ $(afinfo -r '" & theFileName & "' | awk '/estimated duration:/{print int($3/60)}') -gt 30 ]] && echo 'true' || echo 'false'") as boolean
. A continuación, puede añadir esta línea,return theResult
y será equivalente areturn true
oreturn false
en consecuencia.1 votos
@user3439894 Entiendo por qué no has publicado esto como respuesta, pero sigo pensando que deberías hacerlo porque así evitas que el OP borre la pregunta (por el motivo que sea). Y, en este caso, es probable que tu respuesta lleve a una solución que ayude a otros :)
0 votos
@Monomeeth, me adelanté y descargué Hazel y después de una ligera modificación, validé el código en mi comentario. Por cierto, no creo que añadir una respuesta pueda impedir que el autor del OP borre su pregunta.
1 votos
@Winterflags, he actualizado la respuesta para añadir información sobre cómo hacerlo más rápido, lea la sección al final de la respuesta después: "Si quieres que el contenido de
do shell script
comando para que se ejecute más rápido, entonces utilice lo siguiente:"