0 votes

Utilisez Automator pour déplacer des fichiers vers un nouveau dossier en fonction de la liste des noms de fichiers ?

Je ne suis pas sûr que Automator puisse faire cela, et je serais vraiment reconnaissant pour des conseils.

Je travaille avec un dossier contenant ~4500 images. Sur la base de certaines métadonnées que j'ai d'une autre source, je veux déplacer environ mille de ces images vers un nouveau dossier (c'est juste trop pour les déplacer à la main). J'ai un fichier csv qui inclut les noms des fichiers à déplacer, mais je ne parviens pas à comprendre comment faire en sorte qu'Automator me permette de définir la liste comme critère. Les noms de fichiers sont tous des chaînes de 32 chiffres et lettres assignés de manière aléatoire, donc je ne pense pas qu'il s'agisse d'une question de filtrage.

Comment pourrais-je déplacer environ 1000 fichiers d'un dossier vers un autre en utilisant un fichier csv/une liste ? Il est peut-être possible qu'AppleScript soit une bonne option, mais je ne peux pas dire que j'ai déjà regardé là-bas du tout, donc je partirais de zéro.

0voto

David Anderson Points 30783

Pour déplacer des fichiers vers un autre dossier, vous n'auriez pas besoin d'utiliser l'Automator ou le Apple Script. Vous pourriez accomplir cela en entrant des commandes dans une fenêtre d'application Terminal.

Exemple 1

Voici le contenu d'un fichier nommé list.csv. Ce fichier contient simplement les noms des fichiers à déplacer vers un autre dossier.

file001,file002,file003
file004,file005
file006

À partir de bash, la commande ci-dessous déplacerait les fichiers vers un dossier nommé MyTarget.

(IFS=,; while read -u 5 -a w; do for j in ${w[@]}; do mv -i "$j" MyTarget; done; done)5

À partir de `zsh`, la commande changerait comme suit.

    (IFS=,; while read -u 5 -A w; do for j in ${w[@]}; do mv -i "$j" MyTarget; done; done)5

Remarque : Vous pouvez faire une simulation en précédant le mv avec echo. Pour zsh, la commande apparaîtrait comme indiqué ci-dessous.

(IFS=,; while read -u 5 -A w; do for j in ${w[@]}; do echo mv -i "$j" MyTarget; done; done)5


Cette commande produirait la sortie suivante.

    mv -i file001 MyTarget
    mv -i file002 MyTarget
    mv -i file003 MyTarget
    mv -i file004 MyTarget
    mv -i file005 MyTarget
    mv -i file006 MyTarget

Exemple 2
---------

Voici le contenu d'un fichier nommé `list.csv`. Ici, le nom d'un fichier à déplacer est le deuxième élément de chaque ligne.

    black,file001,yes,5
    brown,file002,no,6
    red,file003,no,7
    orange,file004,yes,30
    yellow,file005,no,3
    green,file006,no,99

À partir de `bash`, la commande ci-dessous déplacerait les fichiers vers un dossier nommé `MyTarget`.

    (IFS=,; while read -u 5 -a w; do mv -i "${w[1]}" MyTarget; done)5

``

À partir de `zsh`, la commande changerait comme suit.

    (IFS=,; while read -u 5 -A w; do mv -i "${w[2]}" MyTarget; done)5

`` ``` ```` `````

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