Automator Folder Action workflow para copiar un archivo a una carpeta y luego moverlo a otra carpeta

-2

Necesito un flujo de trabajo de Acción de carpeta de Automator que cuando los archivos se colocan en la carpeta a la que está asignado el flujo de trabajo, primero hará una copia de los archivos soltados a una carpeta diferente y luego moverá los archivos originales a otra carpeta diferente. .

Por ejemplo, digamos que quiero soltar un solo archivo en una "Carpeta activa", luego copie ese archivo primero en una carpeta diferente y luego el mismo archivo que se copió por primera vez, se trasladó a otra carpeta diferente.

Esto dejaría la carpeta en la que se soltó originalmente el archivo, mientras que ahora el archivo original se soltó en dos ubicaciones diferentes mediante el flujo de trabajo de la acción de la carpeta del automatizador, una al copiarlo y la otra al mover el archivo desde el que se realizó la copia.

¿Alguien puede mostrarme cómo hacer esto con Automator?

    
pregunta Gawly 14.12.2018 - 20:12

1 respuesta

1

El siguiente ejemplo Automator Folder Action workflow funciona para mí.

Esto se probó con un archivo y muchos archivos a la vez en más de media docena de pruebas con diferentes conteos y tamaños de archivos, sin embargo, advierto que este simple flujo de trabajo puede ahogarse si se invoca con muchos archivos realmente grandes a la vez.

Configure el flujo de trabajo según las acciones individuales en el orden que se muestra en la imagen a continuación y las Opciones que se muestran en las dos Obtener valor de variable acciones . Las cuales están en orden:

  • Comience con la configuración de la carpeta de destino para: Folder Action recibe los archivos y carpetas agregados a
  • Agregue un Establecer valor de variable acción , dando a la Variable: un nombre pertinente.
  • Agregue una Obtener valor de variable acción , mientras establece el valor del cuadro de lista Variable: en el valor de de Variable: establecido en Establecer valor de variable acción , y marque [√] Ignorar esta entrada de acciones casilla de verificación debajo de sus Opciones .
  • Agregue una Copia de elementos del buscador acción , mientras configura el cuadro de lista Para: en una carpeta de destino .
  • Agregue una Obtener valor de variable acción , mientras establece el valor del cuadro de lista Variable: en el valor de de Variable: establecido en Establecer valor de variable acción , y marque [√] Ignorar esta entrada de acciones casilla de verificación debajo de sus Opciones .
  • Agregue una acción Mover elementos del buscador , mientras configura el cuadro de lista A: en la carpeta de destino correspondiente.

Nota:EstaopciónworkflowserealizóparamostrarcómorealizarlatareasinelusodeshellscriptingyunaEjecuciónShellScriptaction,yaquealgunosusuariospuedennosentirsecómodosalutilizarshellscripting.

Sisesientecómodoutilizandoshellscripting,esteejemploAutomatorFolderActionworkflowtambiénfuncionaparamí.

Configureelflujodetrabajodeacuerdoconlaacciónindividualquesemuestraenlaimagenacontinuación:

  • Comienceconlaconfiguracióndelacarpetadedestinopara:FolderActionrecibelosarchivosycarpetasagregadosa
  • AgregueunaEjecucióndelscriptdeshellacción,mientrascambiaPasarentrada:deastdinacomoargumentos.Luegoreemplaceelcódigooriginalconelsiguientecódigodeejemplo,mientrasmodificaelvalordecopyymovefvariablesparaquecontengaelPOSIXpathnamedelascarpetasdedestinoalasquesecopiaráelarchivoprimero,yposteriormentesemoverádela"Carpeta activa" en la que se colocó.

    copyf="/Path/To/Copy To Folder"
    movef="/Path/To/Move To Folder"
    
    for f in "$@"; do
        cp -a "$f" "$copyf"
        mv "$f" "movef"
    done
    

    
respondido por el user3439894 15.12.2018 - 03:16

Lea otras preguntas en las etiquetas