Cómo ejecutar una Carpeta de la Acción o de otro script de Automator cuando puedo hacer cambios a una carpeta? Y por los cambios me refiero no sólo a la eliminación o inserción de un nuevo archivo, el más importante para mí es cuando el contenido de un archivo se cambia la acción se desencadena.
Respuestas
¿Demasiados anuncios?El uso de launchd, usted podría ahorrar una propiedad lista como esta en ~/Library/LaunchAgents/ y cargar con algo como launchctl load ~/Library/LaunchAgents/automator_test.plist
o por salir y regresar.
<?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 sólo detecta los cambios en los archivos que se guardan de forma atómica (o elimina y vuelve a crear cada vez que se guardan). La mayoría de las aplicaciones de OS X realizar atómica salva, pero por ejemplo TextMate y vim no.
Este tipo de exigencia va más allá de la simple fsevents
ganchos expuestos como Acciones de Carpeta. Me gustaría recomendar el uso de Pablo de Kim Hazel, que te permitirá crear "ver y reaccionar" reglas de casi ilimitado de detalle y complejidad.