Contenuto della directory in una voce del foglio di calcolo

2

Vorrei trasformare il contenuto di una cartella in voci per Numbers (o Excel) - c'è un modo per automatizzare questo?

    
posta EyeOjO 05.04.2014 - 06:25
fonte

2 risposte

1

Puoi utilizzare Automator.app per creare un servizio nel Finder.

Apri Automator.

  • Crea nuovi documenti di servizio
  • imposta il servizio riceve Cartelle selezionato in Finder
  • Aggiungi un contenuto della cartella
  • Aggiungi un'azione Get Esegui applicazione script .

  • sostituire il contenuto del applescript con il applescript qui sotto.

.

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

  • salvaildocumento

OraquandoselezioniunacartellanelFinderpuoiusareilmenucontestualepereseguireilserviziosullacartella.

Creeràunfile.csvsuldesktopdellalista.ChesiapriràinNumbers.

Nota:sehaipiùdiunacartellacreeraiununicoelencoperentrambi.Èpossibilefarlofunzionaresolosullaprimacartellaosuentrambiindividualmente

UPDATE:

Unrapidoesempiodiapplescriptperlavoraresupiùcartellenellaselezione.Questocreeràunsingolofileperognidirectorynellaselezionefinder

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

AGGIORNAMENTO 2. Questo secondo esempio ora usa il nome della cartella come nome per il file

    
risposta data 05.04.2014 - 09:53
fonte
0

Il modo più semplice (ma in qualche modo manuale) è selezionare tutti i file in Finder, copiarli negli Appunti con Cmd-C e incollare i nomi in un foglio di Numbers con Cmd -V .

Se vuoi un maggiore controllo, puoi tornare al terminale per il passaggio copia ed eseguire

cd /some/folder
ls *.jpeg | pbcopy

per ottenere il nome di tutti i file jpeg in questa cartella negli appunti.

    
risposta data 05.04.2014 - 09:18
fonte

Leggi altre domande sui tag