Te agradecería mucho un poco de ayuda con el siguiente.
Mi escenario:
Tengo un Mac app que genera los archivos RTF. Tengo una aplicación para Android que se ocupa de MultiMarkdown/Rebajas archivos.
La Mac app trabaja con proyectos, y estos tener cualquier número de archivos en ellos. Puede sincronizar automáticamente los archivos de un proyecto a una carpeta. Esencialmente, se colocará en la carpeta de un montón de archivos cada vez que se sincroniza (en apertura y cierre, y de forma manual). Cualquier cambio en esa carpeta se sincronizará automáticamente a mi dispositivo Android.
Sin embargo, las necesito para ser convertido .trituradora de archivos antes de que eso suceda, y convertida de nuevo a RTF, cuando los archivos que vienen en el cambiado (o nuevo) desde el dispositivo Android.
Así que aquí es lo que tengo en mente. Lo que me gustaría es hacer las cosas de tal manera que cuando los archivos se sincronizan desde la Mac app en su carpeta de destino, los archivos se convierten automáticamente de RTF a MMD. Ya tengo los scripts que va a hacer el de la conversión real. Y cuando la TRITURADORA de archivos de cambio, que se convierte automáticamente los archivos RTF. También tengo un script para esta.
Las preguntas que tengo son estos:
- ¿Cómo puedo controlar automáticamente una carpeta para los cambios de su contenido, y ejecutar una secuencia de comandos si los cambios de los archivos en esa carpeta?
- ¿Cómo podría hacer esto de dos maneras, sin tirar todo en un bucle sin fin? Al principio pensé que podría hacer lo siguiente:
De dos vías de conversión:
- Crear dos carpetas en el Mac. Uno es para los archivos de RTF, el otro es para TRITURADORA de archivos.
- Configurar la Mac app para sincronizar sus datos y en el de la RTF carpeta
- Configurar el Mac a Android sistema de sincronización (Dropbox, Bittorrent Sync, etc.) para sincronizar el contenido de TRITURADORA de carpeta con una carpeta en el dispositivo Android.
- Cuando el contenido de RTF carpetas cambios, convertir los archivos a MMD y poner la salida en la TRITURADORA de la carpeta. Y viceversa.
Pero, obviamente, esto va a crear un bucle infinito, ya que cada acción que desencadenará la acción inversa, sin cesar.
Una posible forma de evitar este bucle sin fin podría ser este:
- RTF carpeta dispone de un script de R asignado. Cuando cambia el contenido, la secuencia de comandos de R ejecuta.
- TRITURADORA de la carpeta de script M asignados. Cuando cambia el contenido, la secuencia de comandos de M se ejecuta.
- Cuando se detecta un cambio en la RTF carpeta, la primera cosa que la secuencia de comandos de R que hace es deshabilitar la secuencia de comandos M de disparo. La última cosa en la secuencia de comandos de R antes de salir se enable script M de nuevo. De esa manera M no 'aviso' que el contenido de la carpeta estaban cambiando, mientras que R era la actualización de su contenido con los recién convertidos los archivos.
- Lo mismo se aplica a la inversa.
Pero tal vez hay una mejor manera?
Estoy dispuesto a aprender más acerca de secuencias de comandos, y en el proceso de resolver este problema.
Hay personas con factible ideas sobre cómo lograr que lo que estoy esperando para trabajar aquí?