Contenido del directorio en una entrada de hoja de cálculo

2

Me gustaría convertir el contenido de una carpeta en entradas para Números (o Excel). ¿Hay alguna forma de automatizar esto?

    
pregunta EyeOjO 05.04.2014 - 06:25

2 respuestas

1

Puedes usar Automator.app para crear un servicio en el buscador.

Abrir Automator.

  • Crear un nuevo documento de servicio
  • configura el servicio que recibe las Carpetas seleccionadas en Buscador
  • Agrega una acción Obtener contenido de carpeta .
  • Agrega una acción Obtener Ejecutar AppleScript

  • reemplaza el contenido de AppleScript por el Applecript a continuación.

.

on run {input, parameters}
    set theCsv to ""
    repeat with i from 1 to number of items in input
        tell application "Finder" to set this_item to displayed name of item i of input
        set this_item to this_item & ",\n"
        set theCsv to theCsv & this_item
    end repeat
    do shell script "echo " & quoted form of theCsv & " > ~/Desktop/names.csv"
end run

  • guardareldocumento

Ahora,cuandoseleccionaunacarpetaenelbuscador,puedeusarelmenúcontextualparaejecutarelservicioenlacarpeta.

Crearáunarchivo.csvensuescritoriodelalista.Queseabriráennúmeros.

Nota:sitienemásdeunacarpeta,crearáunalistaúnicaparaambas.Esposiblequesolofuncioneenlaprimeracarpetaoenambasindividualmente

ACTUALIZACIÓN:

UnejemplorápidodeAppleScriptparatrabajarenvariascarpetasenlaselección.Estocrearáunarchivoindividualparacadadirectorioenlaseleccióndelbuscador

onrun{input,parameters}settheCsvto""

        set pathList to {}
        repeat with i from 1 to number of items in input
            tell application "Finder" to set the Cpath to container of item i of input as alias
            if (Cpath as alias) is not in pathList then
                copy Cpath to end of pathList
            end if
        end repeat


        repeat with a from 1 to number of items in pathList
set this_item to item a of pathList
    set thisFileName to ""
        tell application "Finder" to set thisFileName to displayed name of (this_item as alias)

            set the CSVpath to ""
            repeat with i from 1 to number of items in input

                tell application "Finder"
                    set the Cpath to container of item i of input as alias

                    if container of item i of input as alias is this_item then
                        set theName to displayed name of item i of input & ",\n"
                        set CSVpath to CSVpath & theName

                    end if
                end tell
            end repeat

     do shell script "echo " & quoted form of CSVpath & " > ~/Desktop/" & quoted form of thisFileName &  ".csv"
        end repeat


    end run

ACTUALIZACIÓN 2. Este segundo ejemplo ahora usa el nombre de la carpeta como el nombre del archivo

    
respondido por el markhunte 05.04.2014 - 09:53
0

La forma más sencilla (pero de alguna manera manual) es seleccionar todos los archivos en el Finder, copiarlos al portapapeles con Cmd-C y luego pegar los nombres en una hoja de Números con Cmd -V .

Si desea más control, puede volver a la Terminal para el paso copiar y ejecutar

cd /some/folder
ls *.jpeg | pbcopy

para obtener el nombre de todos los archivos jpeg de esta carpeta en el portapapeles.

    
respondido por el nohillside 05.04.2014 - 09:18

Lea otras preguntas en las etiquetas