¿Cómo ejecutar una Acción de carpeta u otro script de Automator cuando realizo cambios en una carpeta?

4

¿Cómo ejecutar una Acción de carpeta u otro script de Automator cuando realizo cambios en una carpeta? Y con los cambios me refiero a que no solo eliminando o insertando un archivo nuevo, lo más importante para mí es que cuando se cambia el contenido de un archivo, se activará la acción.

    
pregunta tenshimsm 19.06.2012 - 02:11

2 respuestas

1

Este tipo de requisito va más allá de los simples fsevents ganchos expuestos como Acciones de carpeta. Recomiendo usar Hazel de Paul Kim, que le permitirá crear reglas de "observación y reacción" de granularidad casi ilimitada y complejidad.

    
respondido por el kopischke 21.06.2012 - 08:14
1

Al utilizar launchd, puede guardar una lista de propiedades como esta en ~ / Library / LaunchAgents / y cargarla con algo como launchctl load ~/Library/LaunchAgents/automator_test.plist o cerrar la sesión y volver a iniciarla.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN
http://www.apple.com/DTDs/PropertyList-1.0.dtd>
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>automator_test</string>
    <key>ProgramArguments</key>
    <array>     
        <string>automator</string>
        <string>/Users/username/Desktop/Test.workflow</string>
    </array>
    <key>WatchPaths</key>
    <array>
        <string>/Users/username/Desktop/</string>
    </array>
    <key>StartInterval</key>
    <integer>0</integer> <!-- run at most every 0 seconds, by default 10 -->
</dict>
</plist>

Launchd solo detecta cambios en los archivos cuando se guardan atómicamente (o se eliminan y se recrean cada vez que se guardan). La mayoría de las aplicaciones de OS X realizan guardados atómicos, pero, por ejemplo, TextMate y vim no.

    
respondido por el user495470 19.06.2012 - 07:43

Lea otras preguntas en las etiquetas