2 votes

Contenu du répertoire dans une entrée de feuille de calcul

Je voudrais transformer le contenu d'un dossier en entrées pour Numbers (ou Excel). Existe-t-il un moyen d'automatiser cette opération ?

1voto

markhunte Points 11634

Vous pouvez utiliser Automator.app pour créer un service dans finder.

Ouvrez Automator.

  • Créer un nouveau document de service

  • définir le service reçoit sélectionné Dossiers sur Finder

  • Ajouter un Obtenir le contenu d'un dossier Action.

  • Ajouter un Get Exécuter Applescript Action.

  • remplacer le contenu de l'applescript par l'applescript ci-dessous.

.

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

enter image description here

  • enregistrer le document

Maintenant, lorsque vous sélectionnez un dossier dans le Finder, vous pouvez utiliser le menu contextuel pour exécuter le service sur le dossier.

Cela créera un fichier .csv de la liste sur votre bureau. Qui s'ouvrira dans Numbers.

Remarque : si vous avez plus d'un dossier, une seule liste sera créée pour les deux. Il est possible de ne le faire fonctionner que sur le premier dossier ou sur les deux individuellement.


UPDATE :

Un exemple rapide d'applescript pour travailler sur plusieurs dossiers dans la sélection. Ceci créera un fichier individuel pour chaque répertoire dans la sélection du finder.

    on run {input, parameters}
        set theCsv to ""

        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

UPDATE 2. Ce deuxième exemple utilise maintenant le nom du dossier comme nom de fichier.

0voto

nohillside Points 82672

La méthode la plus simple (mais quelque peu manuelle) consiste à sélectionner tous les fichiers dans le Finder, à les copier dans le presse-papiers avec la touche Cmd-C puis de coller les noms dans une feuille Numbers avec Cmd-V .

Si vous voulez plus de contrôle, vous pouvez revenir à Terminal pour l'option copie pas et course

cd /some/folder
ls *.jpeg | pbcopy

pour récupérer le nom de tous les fichiers jpeg de ce dossier dans le presse-papiers.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X