1 votes

Ajouter les noms des dossiers parents aux noms des fichiers images dans Automator

J'ai cette structure de fichier. Je voulais utiliser le nom de fichier de l'image ajouté aux noms des dossiers parents.

Avant :

 ak
    adak
       Hello\ World456
       cup-printing
          Tshirt-printing.jpg
       hello-\ world789
       hello-world79
       tshirt\ printing
           Tshirt-printing.jpg
    akhiok
       Hello\ World456
       cup-printing
          Tshirt-printing.jpg
       hello-\ world789
       hello-world79
       tshirt\ printing
           Tshirt-printing.jpg

Ici, les noms des dossiers parents sont ak, adak.

Ak= nom de l'Etat Adak = nom de la ville.

Après, cela devrait être comme ceci

Après :

 ak
    adak
       Hello\ World456
       cup-printing
          Tshirt-printing-adak-ak.jpg
       hello-\ world789
       hello-world79
       tshirt\ printing
           Tshirt-printing-adak-ak.jpg
    akhiok
       Hello\ World456
       cup-printing
          Tshirt-printing-akhiok-ak.jpg
       hello-\ world789
       hello-world79
       tshirt\ printing
           Tshirt-printing-akhiok-ak.jpg

La commande Bash peut aider ici ?

Dans l'Automator,

Je suis bloqué dans la recherche de toutes les images dont le nom de fichier est "tshirt". Je dois donc trouver le changement de nom de fichier vers leur dossier parent.

file name rename with parent folder names

1voto

user3439894 Points 52496

Compte tenu de votre exemple, et en supposant qu'il se vérifie, alors les exemple bash code illustré ci-dessous, devrait fonctionner.

Le texte suivant Automate flux de travail utilise le Trouver des éléments de recherche action comme vous l'avez fait, mais utilise ensuite un Exécuter le Shell script action directement après, étant donné qu'il ne semble pas nécessaire d'avoir une Définir la valeur de la variable action comme indiqué dans votre OP.

Sur le site Exécuter le Shell script action , fixer Entrée de passage : à comme arguments comme le montre l'image ci-dessous.

Il convient de noter que le echo commande n'est là que pour montrer ce qu'est un mv commande aurait été exécuté pour renommer les fichiers s'il n'avait pas été présent. Ainsi, après avoir testé et constaté que la sortie est formée comme souhaité, supprimez l'élément echo commande et exécuter le flux de travail pour renommer les fichiers images.

Remplacer la valeur par défaut code dans le Exécuter le Shell script action avec les éléments suivants exemple bash code :

for f in "$@"; do

    dn="$(dirname "$f")"
    fn="$(basename "$f")"
    city="$(awk -F'/' '{print $(NF-2)}'<<<"$f")"
    state="$(awk -F'/' '{print $(NF-3)}'<<<"$f")"

    echo mv "$f" "${dn}/${fn%.*}-${city}-${state}.${fn##*.}"

done

<strong>Remarque : </strong>Les <em>exemple </em><strong><code>bash</code></strong> <em>code </em>n'est que cela et ne contient pas de <em>erreur </em>le cas échéant. C'est à l'utilisateur qu'il incombe d'ajouter tout <em>traitement des erreurs </em>selon ce qui est approprié, nécessaire ou souhaité.


Automator Workflow

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