Voici a la façon d'atteindre l'objectif. (Ce n'est pas la seule façon d'atteindre l'objectif).
D'abord, je ferais un modèle de remplacement Action des dossiers en utilisant Automator et après l'avoir créé, désactivez-le dans Configuration de l'action du dossier mais laissez le flux de travail disponible où il est enregistré. Elle sera ouverte à la fin de la création d'une nouveau dossier de projet lui sera alors attribué et enregistré comme son nom, laissant ainsi le modèle de remplacement Action des dossiers disponible pour le prochain nouveau dossier de projet .
Les images des deux flux de travail sont placés en bas afin de faciliter la lecture de la réponse.
Vous devrez ajouter à la exemple shell script code car toutes les conditions n'ont pas été exprimées dans votre question.
Modèle de placement Action des dossiers
Exemple shell script code :
#!/bin/bash
# f = fully qualified pathname
# d = directory pathname
# fn = filename with extension
# n = filename without extension
# e = filename extension
shopt -s nocasematch
for f in "$@"; do
d="${f%/*}"
fn="${f##*/}"
# n="${fn%.*}"
e="${fn##*.}"
cd "${d}" || exit
[ -w "${d}" ] || exit
[[ ${e} == jpg ]] && mv -n "${f}" './Images/'
[[ ${e} == psd ]] && mv -n "${f}" './Photoshop/'
[[ ${fn} =~ draft ]] && mv -n "${f}" './Drafts/'
[ -f "${f}" ] && mkdir -p 'Other'; mv -n "${f}" './Other/'
done
Note : La dernière test avant done
gère tout cas qui ne sont pas déjà définis. Évidemment, vous pouvez choisir de ne pas l'utiliser et de le supprimer de la liste de contrôle. exemple shell script code .
Créer une nouvelle structure de dossiers de projet
Pour un Automator flux de travail pour créer le nouveau dossier de projet Utilisez la capture d'écran suivante flux de travail :
El exemple shell script code de la Exécuter le Shell script action est :
mkdir "$1/$2" || exit
cd "$1/$2" || exit
mkdir 'After Effects' 'Assets' 'Audition' 'Drafts' 'Excel' 'Final' 'Fonts' 'Illustrator' 'Images' 'Photoshop' 'Premier' 'Word'
open "${HOME}/Library/Workflows/Applications/Folder Actions/Foobar.workflow"
Note : Changez le nom de la Action des dossiers flux de travail dans le exemple shell script code de Foobar.workflow quelle que soit sa valeur réelle nom est.
Notez également dans l'image ci-dessous de la Créer une nouvelle structure de dossiers de projet flux de travail comment il y a des ruptures logiques entre certains des actions et à la fin, le valeur des deux variables sont séparés du reste de la flux de travail . Alors que le flux de travail montré dans la question fonctionne, néanmoins, à mon avis, c'est une meilleure façon de le faire, car elle rompt l'obligation d'utiliser la méthode de l'utilisateur final. flux de travail en blocs d'actions logiques ce qui permet de suivre/comprendre plus facilement ce que l'on veut faire. flux de travail fait.
Techniquement, le Créer une nouvelle structure de dossiers de projet flux de travail n'en a besoin que d'un seul variable et il pourrait être structuré comme suit, par exemple
-
Demande de texte action
-
définir la valeur de la variable action
- Variable : [Nouveau projet]
-
Demandez les articles Finder action
- [Optons] [] Ignorer l'entrée de cette action
-
Obtenir la valeur d'une variable action
- Variable : [Nouveau projet]
-
Exécuter le Shell script action
Même si cela fonctionne et a moins actions que ce qui est montré dans la question, néanmoins, comme je l'ai mentionné plus tôt au sujet de blocs d'actions logiques au sein de la flux de travail ce qui permet de suivre/comprendre plus facilement ce que les flux de travail fait.
Configuration de l'action du dossier
Configuration de l'action du dossier peut être utilisé pour travailler avec, selon les besoins, tout Action des dossiers créé.
Configuration de l'action du dossier peut être ouvert en utilisant Spotlight en appuyant sur Espace et commencez à taper son nom, puis une fois sélectionné, appuyez sur Entrez .
0 votes
Je n'ai pas de réponse sur la façon d'écrire l'action de dossier de sorte qu'elle choisisse dynamiquement le bon dossier racine (Projet 1, Projet 2, etc...). Cependant, je me suis souvenu Post Haste qui pourrait vous être utile à vous aussi. Voici également autre question pourrait être utile.
0 votes
Pour une action de dossier Automator, vous devez spécifier le dossier surveillé lors de l'enregistrement du flux de travail. Une action de dossier AppleScript est un peu plus flexible, dans la mesure où vous pouvez utiliser le même script et spécifier le dossier via l'attribut
Folder Actions Setup
service. Dans tous les cas, vous devrez spécifier une action de dossier pour chaque dossier surveillé.0 votes
JSYK... Le site Exécuter le Shell script action montrée dans la capture d'écran montre une surutilisation inutile de l'option
mkdir
commande et ne doit en fait être exécuté que deux fois, par ex.mkdir "$1/$2"; cd "$1/$2" || exit; mkdir 'After Effects' 'Assets' 'Audition' 'Drafts' 'Excel' 'Final' 'Fonts' 'Illustrator' 'Images' 'Photoshop' 'Premier' 'Word'
-- Notez que le guillemets simples utilisé dans le deuxièmemkdir
commande ne sont nécessaires que pour "After Effects", cependant, mon style de codage consiste généralement à citer tous les éléments de la base de données. chaînes de caractères pour la sécurité et/ou la clarté visuelle, le cas échéant.0 votes
En outre, la capture d'écran dans votre PO exclut des informations importantes qui sont normalement visibles, par exemple, le type de carte de crédit. Automator flux de travail c'est, si oui ou non vous avez fait la déconnexion logique entre certains actions etc. Veuillez ajuster la taille de la Automator flux de travail pour inclure cela sans être trop grand. Cela dit, la capture d'écran est-elle réellement votre Action des dossiers ou seulement le flux de travail pour créer le structure hiérarchique des dossiers ? Si vous aviez également inclus les spécifications exactes de ce qui va où, j'aurais posté une solution fonctionnelle comme réponse.