Automator - Mettre la 1ère lettre en majuscule |
Bienvenue invité ( Connexion | Inscription )
Automator - Mettre la 1ère lettre en majuscule |
29 Apr 2012, 23:27
Message
#1
|
|
Adepte de Macbidouille Groupe : Membres Messages : 75 Inscrit : 11 Mar 2012 Lieu : en plein dans le Mistral ! Membre no 175 242 |
Bonjour,
Petit à petit, je fais connaissance avec ce super petit robot pour renommer des fichiers. C'est assez simple, j'y suis arrivé sans problème, mais pour parfaire le tout, je voudrais que de la première lettre du fichier soit toujours en majuscule, mais je n'arrive pas à trouver comment ? Est-possible ? -------------------- iMac 27" + MacBook Air 13" + iPad 64 Go noir + iPhone 16 Go + iPod nano 16 Go.
|
|
|
1 May 2012, 07:34
Message
#2
|
|
Adepte de Macbidouille Groupe : Membres Messages : 251 Inscrit : 7 May 2003 Lieu : Les Adrets de l4EStérel Membre no 7 457 |
Bonjour,
L'action standard ne permet pas ce niveau de contrôle. Elle propose de forcer la première lettre des mots en majuscules mais cela s'appliquera à tous les mots, pas seulement au premier. Pour cela je vous conseille d'utiliser un bout d'AppleScript (ou Perl, Ruby...) pour transformer les noms de fichiers. Vous pourrez trouver beaucoup d'informations sur Automator dans mon livre "Automatisez sous Mac" (http://digitbooks.fr/catalogue/automatisez-sous-mac-gamel.html). -------------------- |
|
|
2 May 2012, 14:28
Message
#3
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 404 Inscrit : 15 Feb 2006 Lieu : basses-alpes Membre no 55 679 |
Bonjour,
Sous 10.6 (Snow Leopard) 2 items existent dans le bloc Texte des services : Capitaliser la première lettre des mots et Capitaliser la première lettre des phrases Le problème deviendrait : Comment appeler un service dans Automator… Qui le sait ? Cordialement c. Ce message a été modifié par archibald.c - 2 May 2012, 14:29. |
|
|
2 May 2012, 16:16
Message
#4
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 845 Inscrit : 23 Nov 2002 Membre no 4 808 |
et en commençant par remplacer les espaces par une suite de caractère du type 'wxy' ; puis en exécutant le passage en capitales de la première lettre ; puis, enfin, en remplaçant 'wxy' par une espace ?
-------------------- MBP 15 unibody 2,4 Ghz , 4Go ssd 256 Go, dual boot OSX10.9.5-Linux mint
MacMini late 2012, i7 2,3Ghz, 16Go, 2 ssd 1to, OSX Sonoma 14.4 (OpencoreLegacy Patcher 1,4.3) |
|
|
2 May 2012, 16:21
Message
#5
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 14 576 Inscrit : 13 May 2005 Membre no 39 087 |
je ne comprend pas bien peut-être, mais Automator (ici sous 10.5) comprend déjà la capitalisation de la première lettre (de chaque mot cependant, si donc le nom de fichier en comprend plusieurs...), voir screenshot:
|
|
|
2 May 2012, 18:36
Message
#6
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 098 Inscrit : 4 Oct 2005 Membre no 47 253 |
Bonjour, Pour cela je vous conseille d'utiliser un bout d'AppleScript (ou Perl, Ruby...) pour transformer les noms de fichiers. Bonjour Avec python, j'utilise souvent ce code pour avoir un bout de texte tout en majuscules avec AppleScript. Code set textePresse_Papiers to the clipboard set the clipboard to (do shell script "/usr/bin/python -c \"import sys; print unicode(sys.argv[1], 'utf8').capitalize().encode('utf8')\" " & quoted form of (textePresse_Papiers as text)) -- lower = style d'écriture du texte -- capitalize = Style d'écriture du texte -- title = Style D'Écriture Du Texte -- upper = STYLE D'ÉCRITURE DU TEXTE -- quoted form = Pour prendre en compte les caractères exotiques (non US) @+ -------------------- Impossible de vous dire mon âge, il change tout le temps.
iMac 27" Intel core i5 3,1 Gh Mémoire vive 16 Go Mountain Lion 10.8.4 |
|
|
2 May 2012, 20:43
Message
#7
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 1 876 Inscrit : 20 May 2009 Membre no 136 403 |
Bonjour, Petit à petit, je fais connaissance avec ce super petit robot pour renommer des fichiers. C'est assez simple, j'y suis arrivé sans problème, mais pour parfaire le tout, je voudrais que de la première lettre du fichier soit toujours en majuscule, mais je n'arrive pas à trouver comment ? Est-possible ? Tu peux essayer Name Mangler Explications en Français ici : http://www.debutersurmac.com/tutoriels/man...tml#namemangler Ce message a été modifié par lopiko - 2 May 2012, 20:49. -------------------- Mac Pro (mi-2010) 2 x 3,46 GHz 6-Core Intel Xeon
Mémoire 32 Go OS Sierra 10.12.8 SSD |
|
|
4 May 2012, 14:32
Message
#8
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 14 576 Inscrit : 13 May 2005 Membre no 39 087 |
Alors quoi ?
|
|
|
4 May 2012, 22:52
Message
#9
|
|
Macbidouilleur d'argent ! Groupe : Membres Messages : 584 Inscrit : 21 Nov 2005 Lieu : --> Vous êtes ici <-- Membre no 50 320 |
Ça va transformer la phrase en un seul mot, changer la première lettre de ce mot en majuscule, puis transformer ce mot en phrase. NB : il faut remplacer les espaces de la phrase par une lettre suffisamment bien choisie pour ne pas mettre le bazar --> le ö est relativement rare, mais tu peux choisir autre chose bien sur... EDIT : j'avais zappé la réponse d'ades (message #4), mais c'est exactement le principe ! Ce message a été modifié par cboudier - 4 May 2012, 22:56. -------------------- Voir une araignée, c'est rien.
Le pire c'est quand tu la vois plus... |
|
|
6 May 2012, 20:22
Message
#10
|
|
Adepte de Macbidouille Groupe : Membres Messages : 75 Inscrit : 11 Mar 2012 Lieu : en plein dans le Mistral ! Membre no 175 242 |
Ades et Cboudier, j'étais persuadée que cette méthode allait fonctionner, mais bizarrement, après réintégration des espaces, toutes les premières lettres passent en majuscule, je trouve cela bizarre qu'il "garde en mémoire" cette précédente action. Il y a peut-être une autre action à adjoindre ...
De votre côté, avez-vous fait un réel essai ? Merci pour les autres propositions, mais d'une, j'aimerais trouver une solution gratuite et surtout pouvoir utiliser au maximum les applications livrées d'origine avec Mac, j'aimerais éviter, dans un première temps d'installer des tonnes d'applications plus ou moins utiles, et de deux, hélas, je ne comprend strictement rien aux écritures dans le terminal, et d'après ce que j'ai pu lire, il est préférable de savoir ce que l'on fait la dedans. Uzboxber, ben oui, comme tu dis, Automator comprend la capitalisation de la 1ère lettre de chaque mot, mais moi je ne veux que le premier mot avec une lettre capitale, comme je l'avais écris, la première lettre du fichier en majuscule. En tout cas merci à vous tous de vous être bien mobilisé pour m'aider. -------------------- iMac 27" + MacBook Air 13" + iPad 64 Go noir + iPhone 16 Go + iPod nano 16 Go.
|
|
|
6 May 2012, 22:11
Message
#11
|
|
Macbidouilleur d'argent ! Groupe : Membres Messages : 584 Inscrit : 21 Nov 2005 Lieu : --> Vous êtes ici <-- Membre no 50 320 |
Ades et Cboudier, j'étais persuadée que cette méthode allait fonctionner, mais bizarrement, après réintégration des espaces, toutes les premières lettres passent en majuscule, je trouve cela bizarre qu'il "garde en mémoire" cette précédente action. Il y a peut-être une autre action à adjoindre ... De votre côté, avez-vous fait un réel essai ? Oui, j'ai fait un essai (même plusieurs avec succès) et c'est pour ça que je précise qu'il faut absolument utiliser une (ou des) lettre(s) et pas des signes. Si tu remplace les espaces par "-" ou "_" ou "#" (par exemple), Automator reconnait toujours que c'est une phrase et change chaque première lettre de chaque mot. -------------------- Voir une araignée, c'est rien.
Le pire c'est quand tu la vois plus... |
|
|
7 May 2012, 09:57
Message
#12
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 964 Inscrit : 3 Nov 2005 Membre no 49 239 |
Bonjour,
avec un script shell voici une commande qui exécutée dans un dossier renomme tous les fichiers qui se trouvent dans le dossier et les sous dossiers du dossier. Code find . -type f | while read ligne; do dir=`dirname "$ligne"` fic=`basename "$ligne"` len=${#fic} len=$(($len-1)) debut=${fic:0:1} fin=${fic:1:$len} debut=$(echo $debut | tr '[:lower:]' '[:upper:]') echo "Debut: $debut - fin: $fin" nouveau_fichier="${dir}/${debut}${fin}" ancien_fichier="$ligne" mv "$ancien_fichier" "$nouveau_fichier" done Pour un spécialiste Automator/applescript ca devrait être facile d'intégrer du shell Ce message a été modifié par noop - 7 May 2012, 10:07. |
|
|
7 May 2012, 21:43
Message
#13
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 098 Inscrit : 4 Oct 2005 Membre no 47 253 |
Pour un spécialiste Automator/applescript ca devrait être facile d'intégrer du shell Bonsoir J"ai testé votre réponse en AppleScript (sans utiliser le terminal) pour voir si c'est réalisable facilement. Majuscule des noms de fichiers dans un dossier et ses sous-dossiers. Ce que fait mon code (je suis un amateur en AppleScript). Si trouve pas de fichier Quitte le code. Trouve un seul fichier, écrit le nom de ce dernier avec une majuscule. Trouve plusieurs fichiers dans le dossier sélectionné et ses sous-dossiers, modifie les noms en les faisant débuter par une majuscule. Ne prend en compte que si les premiers caractères des noms se trouvent pas dans cette variable abcdefghijklmnopqrstuvwxyz Code écrit pour débutant en AppleScript (avec des commentaires à chaque lignes). Si un volontaire pour regarder le code il le dit. Par curiosité, je vais tester d'ajoute 2 barres de contrôle pour faire patienter (toujours en ApplepeScript) La première pour faire patienter lors de la recherche. La deuxième pour voir la barre de défilement et savoir le numéro du fichier traité et son nom. @+ Ce message a été modifié par sucellus - 7 May 2012, 21:57. -------------------- Impossible de vous dire mon âge, il change tout le temps.
iMac 27" Intel core i5 3,1 Gh Mémoire vive 16 Go Mountain Lion 10.8.4 |
|
|
Nous sommes le : 23rd April 2024 - 23:05 |