Automator Folder Flusso di lavoro delle azioni per copiare un file in una cartella e spostarlo in un'altra cartella

-2

Ho bisogno di un flusso di lavoro di Automator Folder Action che quando i file vengono rilasciati nella cartella a cui è assegnato il flusso di lavoro, per prima cosa crea una copia dei file rilasciati in una cartella diversa, quindi sposta i file originali in un'altra cartella .

Ad esempio, diciamo che voglio rilasciare un singolo file in una "cartella automatica", quindi copiare quel file prima in una cartella diversa e poi lo stesso file che è stato prima copiato, spostato in un'altra cartella diversa.

Ciò lascerebbe la cartella in cui il file è stato originariamente lasciato vuoto mentre ora ha il file originariamente rilasciato in due posizioni diverse dal flusso di lavoro di Automator Folder Action, uno copiandolo e l'altro spostando il file da cui è stata creata la copia.

Qualcuno può mostrarmi come farlo con Automator?

    
posta Gawly 14.12.2018 - 20:12
fonte

1 risposta

1

Questo seguente esempio Azione cartella automatica flusso di lavoro funziona per me.

Questo è stato testato con un solo file e molti file alla volta su una mezza dozzina di test con diversi conteggi e dimensioni dei file, tuttavia vorrei sottolineare che questo semplice flusso di lavoro può essere soffocato se invocato con molti file molto grandi contemporaneamente.

Imposta il flusso di lavoro in base alle singole azioni nell'ordine mostrato nell'immagine sotto e le Opzioni mostrate sui due Ottieni valore di variabile azioni . Quali sono in ordine:

  • Inizia con l'impostazione della cartella di destinazione per: Azione cartella riceve file e cartelle aggiunti a
  • Aggiungi un Imposta valore di variabile azione , fornendo la variabile: un nome pertinente .
  • Aggiungi un valore Ottieni valore della variabile , mentre imposti il valore della Variabile: casella di riepilogo al valore di Variabile: impostato nel Imposta valore della variabile azione e controlla [√] Ignora l'input di queste azioni casella di controllo sotto le sue Opzioni .
  • Aggiungi un Copia elementi del Finder azione , mentre imposti la casella di riepilogo A: in una cartella di destinazione pertinente .
  • Aggiungi un valore Ottieni valore della variabile , mentre imposti il valore della Variabile: casella di riepilogo al valore di Variabile: impostato nel Imposta valore della variabile azione e controlla [√] Ignora l'input di queste azioni casella di controllo sotto le sue Opzioni .
  • Aggiungi un'azione Muovi oggetti Finder , mentre imposti la casella di riepilogo A: nella cartella di destinazione pertinente .

Nota:questasceltadelflussodilavoroèstataeffettuatapermostrarecomeeseguirel'attivitàsenzautilizzarescriptingdellashelleun'esecuzioneShellScriptazione,poichéalcuniutentipotrebberononsentirsiaproprioagiousandoscriptdishell.

Sehaidimestichezzaconloscriptdishell,alloraquestoesempioAzionecartellaautomaticaworkflowfunzionaancheperme.

Impostailflussodilavoroinbaseallasingolaazionemostratanell'immagineseguente:

  • Iniziaconl'impostazionedellacartelladidestinazioneper:Azionecartellaricevefileecartelleaggiuntia
  • AggiungiunEseguiscriptdishellazione,mentremodifichiPassal'input:daastdinacomeargomenti.Quindisostituisciilcodiceoriginaleconilseguentecodicediesempio,mentremodifichiilvaloredellevariabilicopyemovefpercontenerelaPOSIXpathnamedellecartelledidestinazioneilfiledeveesserecopiatoinprimoluogoesuccessivamentespostatoin"Hot Folder" in cui è stato inserito.

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

    
risposta data 15.12.2018 - 03:16
fonte

Leggi altre domande sui tag