¿Es posible omitir el cambio de nombre de un archivo cuando no está en Automator?

0

He escrito un pequeño script de Automator que realiza las siguientes tareas:

  1. Obtener elementos del buscador especificados: para obtener un archivo
  2. Cambiar el nombre de los elementos del buscador: Nombre único elemento: para cambiar el nombre a .old
  3. Obtener URL especificadas: para extraer un complemento de un repositorio GIT
  4. Descargar URL: para guardar la URL resultante en un archivo
  5. Obtener elementos del buscador especificados: para encontrar el archivo .old renombrado en el paso 1
  6. Mover elementos del buscador a la Papelera: para eliminar el archivo .old

El propósito es capturar la última copia de un complemento de TernJS y colocarlo en la ubicación correcta para el complemento de Atom Ternjs para Atom.io. Funciona bien cuando el archivo en cuestión ya está allí, pero si no lo está, explota en el paso Cambiar nombre. Entonces, ¿es posible decirle al paso Renombrar que nunca fallará O de alguna manera omitir el paso en el caso de que no se hayan encontrado archivos?

    
pregunta CodeChimp 01.07.2015 - 23:07

1 respuesta

1

Escribí un pequeño JavaScript para el programa de automatización que puede lograr lo que quieres hacer. Busca y elimina el archivo existente, luego procede a descargar el archivo deseado desde el repositorio 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())

Como alternativa, puede tomar una parte de este código (como el condicional que determina si hay un archivo existente) y colocarlo en una acción "Ejecutar JavaScript" de Automator en su secuencia de comandos existente.

    
respondido por el aaplmath 16.07.2015 - 18:00

Lea otras preguntas en las etiquetas