¿Hay alguna manera de verificar si hay cambios en una carpeta / archivo (incluye agregar archivos, eliminar archivos, cambios en archivos, ...). La 'Acción de carpeta' en Automator solo verifica si se agregaron archivos recientemente.
9
Respuestas:
Puede agregar una acción "Ejecutar script de Shell" con el comando:
Esto le dará todos los archivos y directorios dentro
<directory>
que han cambiado desde el último cambio de<reference_file>
. Solo asegúrese de modificar<reference_file>
cada vez que ejecute el script de Automator.También eche un vistazo a la página de búsqueda de manual (ingrese
man find
en el terminal) para obtener más opciones. Encontrar es muy poderoso y refinar aún más su búsqueda es generalmente una cuestión de un par de opciones adicionales. Por ejemplo, para buscar solo directorios modificados después de<reference_file>
:Si la versión que se incluye con OSX no es suficiente, también puede probar la versión que viene con
findutils
(brew, macports, etc.) que debería tener un poco más de funciones.fuente
No conozco una manera de hacer esto con Automator, pero hay una aplicación en la App Store llamada Folder Watch que puede hacer lo que estás pidiendo.
fuente
Así que la última vez que lo revisé, Automater está usando Applescript en segundo plano para escribir sus acciones. Applescript no tiene mucha profundidad. Si bien puede obtener la lista de archivos en un directorio (y, por lo tanto, podría averiguar cuándo se elimina algo), no creo que pueda calcular los cambios en un archivo.
Lo que realmente necesita aprovechar son las notificaciones del sistema de archivos. Y como es una bestia, tomaría el consejo de kraymer y usaría launchd. Tiene ganchos para ejecutar cada vez que se cambia el contenido de una carpeta. Lingon (ver también su página obsoleta de SourceForge ) es una gran aplicación para ayudar a las personas a lanzarse a la plataforma. Puede escribir su script / aplicación de automatización para hacer lo que estaba planeando hacer cuando se modificó su directorio y simplemente hacer que la tarea launchd lo llame.
fuente
Puedes consultar una respuesta anterior mía , pero parece que quieres
Launchd no es el camino a seguir para los cambios de archivos, fs_usage usa la máquina subyacente que impulsa la atención.
EDITAR: Estoy completamente equivocado aquí. Launchd tiene exactamente esa funcionalidad requerida, es decir: hacer algo en un archivo o cambio de directorio.
Haces un archivo .plist.
Grita "¡SUX XML PARA ARCHIVOS CONF!" (Realmente lo hace)
y querrás usar una o ambas de las siguientes teclas en tu trabajo de launchd.
fuente