5 votos

Cómo escribir un script que se ejecute cada vez que se añada un nuevo archivo a un directorio específico?

Nunca he escrito un script para OS X, y no sé realmente qué herramienta de scripting utilizaré para esta tarea.

Aquí hay un pseudo código para el script que quiero construir :

whenever a new file X is added to the directory D do:
copy X 
paste X to the directory B

No quiero que alguien codifique esto por mí, quiero saber qué herramienta (lenguaje tal vez) debo usar para escribir este script, y cómo hacer que OS X lo ejecute cada vez que ocurra el evento.

No sé cómo etiquetar esto. Por favor, contribuya. Por favor, redirige si este no es el foro adecuado para esta pregunta.

4voto

Tetsujin Puntos 23061

Muy simple usando Automator & Folder Actions.

  • Haga una nueva Acción de Carpeta, luego establezca la fuente a la Carpeta A
  • seleccione una acción del Finder en la columna de la izquierda,
  • arrastrar "Copiar elementos del buscador" desde el centro hacia la derecha
  • establezca el destino en la Carpeta B.
  • Dale un nombre y guárdalo.

enter image description here

Cada vez que se añada algo a A se copiará automáticamente a B.

0voto

geekgirl Puntos 11

Sólo se me ocurren dos formas que requieren paquetes (gratuitos) de terceros:

1º. Un paquete llamado watchdog por monitorizar los eventos del sistema de archivos y desencadenar acciones. En realidad es un paquete de Python, pero también incluye una utilidad de shell para que pueda crear scripts desde el terminal sin necesidad de codificar.

2. utilizar un pequeño programa llamado fswatch que utiliza la API de eventos del sistema de archivos de Mac OS para supervisar sus archivos y carpetas, y puede activar scripts.

Ambos requieren que usted instale el paquete/programa, y parecen hacer lo que usted requiere. Espero que esto al menos te indique la dirección correcta.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X