È possibile saltare un file rinominato quando non è presente in Automator?

0

Ho scritto un piccolo script di Automator che svolge le seguenti attività:

  1. Trova elementi del Finder specificati - per ottenere un file
  2. Rinomina elementi del Finder: Name Single Item - per rinominarlo in .old
  3. Ottieni gli URL specificati - per rimuovere un plug-in da un repository GIT
  4. Scarica URL - per salvare l'URL risultante in un file
  5. Trova elementi del Finder specificato - per trovare il file .old rinominato dal passaggio 1
  6. Sposta gli elementi del Finder nel Cestino - per rimuovere il file .old

Lo scopo è quello di prendere l'ultima copia di un plug-in di TernJS e posizionarlo nella posizione corretta per il plug-in Atom Ternjs per Atom.io. Funziona bene quando il file in questione è già lì, ma se non lo fa esplode sul passaggio Rinomina. Quindi, è possibile dire al passaggio Rinomina di non fallire mai O in qualche modo saltare il passo nel caso in cui non sono stati trovati file?

    
posta CodeChimp 01.07.2015 - 23:07
fonte

1 risposta

1

Ho scritto un piccolo JavaScript per il programma di automazione che potrebbe essere in grado di realizzare ciò che si vuole fare. Controlla ed elimina il file esistente, quindi procede con il download del file desiderato dal repository GIT:

// Get Finder application
finder = Application('Finder')
finder.includeStandardAdditions = true

// Create path to the location of the existing file
path = Path("path/to/destination")

// Check to see if the old file exists
if (finder.files.length > 0) {
    oldFile = finder.files[0]
    oldFile.delete()
}

// Use curl to download the new file
current = Application.currentApplication()
current.includeStandardAdditions = true
theURL = "http://url/to/git/plugin"
current.doShellScript("curl -L " + theURL + " -o " + path.toString())

In alternativa, puoi prendere parte di questo codice (come il condizionale che determina se esiste un file esistente) e inserirlo in un'azione "Esegui JavaScript" di Automator nello script esistente.

    
risposta data 16.07.2015 - 18:00
fonte

Leggi altre domande sui tag