Situation :
- un dossier contenant 80 412 fichiers
- tous les fichiers sont nommés avec CamelCase, certains ont un tiret (-) séparant le premier mot
- les fichiers peuvent être regroupés en commençant par le même mot ou les mêmes lettres (par exemple, "ClientslistRebecca..." et "Clientslist-Adam...").
- aucun nom de fichier ne commence par un chiffre
- très peu de fichiers commencent par un mot unique
Je dois prendre le premier mot, trouver tous les fichiers qui commencent par ce mot, et créer un dossier nommé avec ce mot. Répétez l'opération pour tous les fichiers.
La principale complication est que, parfois, un nom commence par plusieurs majuscules, suivies d'un mot qui commence également par une majuscule (par exemple, "AWDRebecca..."). Je ne sais pas comment résoudre ce problème, mais je suis d'accord pour faire un nettoyage manuel par la suite si j'ai des dossiers avec "AWDRebecca", "AWDReports", "AWDNovember", mais avoir un dossier "A" rendra les choses plus difficiles.
1 votes
Cela nécessite probablement une solution de script. Qu'avez-vous essayé jusqu'à présent ?
0 votes
De plus, je suppose que les fichiers commençant par "AWDRebecca", "AWDReports", "AWDNovember" devraient se retrouver dans un dossier appelé "AWD", non ?
0 votes
Je viens de commencer cette tâche, j'utilise des flux de travail Automator avec Run Shell script pour la plupart des automatisations.
0 votes
Et oui, AWD serait le nom de dossier préféré, avec tous les AWD... à l'intérieur.
3 votes
Nous ne sommes pas un service de rédaction de script, donc si vous avez déjà des étapes de cela, veuillez les ajouter à la question.
0 votes
Je comprends cela, travaillant sur le script maintenant, mais j'étais également ouvert aux suggestions s'il y a une application, ou un script exécuteur différent pour faire cela. Je mettrai à jour la question dès que j'aurai quelque chose.
1 votes
J'utiliserais simplement le shell scripts plutôt que l'automate appelle le shell scripts. Il faut aussi coder en dur les cas particuliers comme l'AWD et les déplacer en premier.
0 votes
Bienvenue à Ask Different. Je me demande quel est le "premier mot" pour "ClientslistRebecca..."... Est-ce "Clientlist" ou "Client" ? Plus généralement, pourriez-vous expliquer les règles qui déterminent le premier mot (par exemple, quelle est la règle pour les noms de fichiers qui contiennent à la fois des majuscules et des tirets) ?
0 votes
Jaume, le dossier est une collection de rapports, de reçus, de portefeuilles, de résumés de projets, etc. Comme il s'agit d'un CamelCase, les mots sont séparés par des majuscules, parfois la personne qui nomme les dossiers utilise le CamelCase avec des tirets. Ainsi, dans "ClientslistRebecca" et "Clientslist-Adam", le premier mot est "Clientslist". Pour "AWDRebecca", le premier mot est "AWD" (nom d'un de nos clients avec lequel Rebecca travaille).