• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

207
Vistas
¿Cómo puedo obtener una carpeta de entrada y sus archivos usando Javascript para Automator?

Estoy escribiendo un flujo de trabajo automático para trabajar con archivos y carpetas. Lo estoy escribiendo en JavaScript porque estoy más familiarizado con él.

Me gustaría recibir una carpeta y obtener el nombre de la carpeta y los archivos que contiene.

Esto es más o menos lo que he intentado:

  1. La ventana recibe las carpetas actuales en Finder (solo me interesa la primera y única carpeta)

  2. Obtener contenido de la carpeta

  3. JavaScript:

     function run(input,parameters) { var files = []; for(let file of input) files.push(file.toString().replace(/.*\//,'')); // etc }

Esto funciona, pero no tengo el nombre de la carpeta. Usando esto, obtengo el nombre completo de la ruta de cada archivo, por lo que lo ejecuto a través del método replace() .

Si omito el paso 2 anterior, obtengo la carpeta, pero no sé cómo acceder al contenido de la carpeta.

Puedo falsificar la carpeta obteniendo el primer archivo y eliminando el nombre del archivo, pero me pregunto si existe un enfoque más directo para obtener tanto la carpeta como su contenido.

almost 3 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Lo tengo funcionando. Por si alguien tiene una pregunta similar:

 // Window receives current folders in Finder var app = Application.currentApplication() app.includeStandardAdditions = true function run(input, parameters) { let directory = input.toString(); var directoryItems = app.listFolder(directory, { invisibles: false }) var files = []; for(let file of directoryItems) files.push(file.toString().replace(/.*\//,'')) ; // etc }

No incluyo el paso Obtener contenido de la carpeta, sino que itero a través de la carpeta usando app.listFolder() en su lugar. El método replace() es recortar todo hasta la última barra inclinada, dando el nombre base del archivo.

almost 3 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda