Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

362
Views
¿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.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

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.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!