IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> applescript renomer des fichier en fonction du nom
Options
crom1
posté 16 Jan 2013, 18:04
Message #1


Nouveau Membre


Groupe : Membres
Messages : 10
Inscrit : 16 Jan 2013
Membre no 182 031



Bonjour a tous,

j'ai fait un petit script en shell sous pc que je voudrais tranferer sous apple donc applescript mais je suis completement novice alors forcement je bloque.
voila ce que je voudrais.

un rep de 6 imagesen JPG au lancement du scripte on demande le nom des images a renomer. elle auront le meme nom de debut
pour l'exemple je prend TOTO , toutes les images finise par un numero de 0 a 5 mais la longeur du nom de fichier n'est pas fixe.

-------0.jpg-> renomer en toto_l.jpg
-------1.jpg ->renomer en toto_f.jpg
-------2.jpg ->renomer en toto_r.jpg
-------3.jpg ->renomer en toto_b.jpg
-------4.jpg ->renomer en toto_u.jpg
-------5.jpg ->renomer en toto_d.jpg

quelq'un aurai une idée pour commencer ? huh.gif

merci
Go to the top of the page
 
+Quote Post
schlum
posté 16 Jan 2013, 18:23
Message #2


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 23 607
Inscrit : 25 Oct 2002
Lieu : Sceaux (92)
Membre no 4 319



Plus facile en shell script… Mac OS est un Unix BSD entre autres.

Code
for i in "*.jpg"; do
    echo "$i -> renommer en ?"
    read nm
    mv $i "toto_$nm.jpg"
done


--------------------
I think therefore I Mac
Map Macbidouille ; Stats Macbidouille

Pour vous torturer les méninges !
Go to the top of the page
 
+Quote Post
crom1
posté 16 Jan 2013, 18:49
Message #3


Nouveau Membre


Groupe : Membres
Messages : 10
Inscrit : 16 Jan 2013
Membre no 182 031



salut Schlum,
merci pour ta reponse.

desoler je ne sais pas comment on fait un shell script. je m'etait arreter au applescript

mon soucis si le nom de fichier
*0.jpg je dois avoir en sortie toto_l.jpg
*1.jpg donnera toto_f.jpg

vue ton code je ne croie pas que cela le fasse
le rep contiendra toujour 6 images donc je ne pense pas que ce soi necessaire de faire une boucle

set name to the texte returned of (diplay dialog - "nom des fichier ?" default answer 'images'
tell application "Finder"
set name of file "*0.jpg" to (name & "_l.jpg"
set name of file "*1.jpg" to (name & "_f.jpg"
set name of file "*2.jpg" to (name & "_r.jpg"
set name of file "*3.jpg" to (name & "_b.jpg"
set name of file "*4.jpg" to (name & "_u.jpg"
set name of file "*5.jpg" to (name & "_d.jpg"
end tell

voila mais je ne pense pas que ça marche j'ai un vieux livre de 2005 et je croie que le code a ete changer avec la sortie de montaine lion ?


Go to the top of the page
 
+Quote Post
schlum
posté 16 Jan 2013, 19:47
Message #4


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 23 607
Inscrit : 25 Oct 2002
Lieu : Sceaux (92)
Membre no 4 319



Ta question d’origine n’est pas claire et laisse penser que ce sont les fins de noms qui sont demandés à chaque fois.

Code
echo "nom ?"
read nm
mv "*0.jpg" "$nm_l.jpg"
mv "*1.jpg" "$nm_f.jpg"
mv "*2.jpg" "$nm_r.jpg"
mv "*3.jpg" "$nm_b.jpg"
mv "*4.jpg" "$nm_u.jpg"
mv "*5.jpg" "$nm_d.jpg"


--------------------
I think therefore I Mac
Map Macbidouille ; Stats Macbidouille

Pour vous torturer les méninges !
Go to the top of the page
 
+Quote Post
crom1
posté 17 Jan 2013, 09:23
Message #5


Nouveau Membre


Groupe : Membres
Messages : 10
Inscrit : 16 Jan 2013
Membre no 182 031



Merci bien pour ta reponse et le prog
par contre il est en shell, comment je peux l'utiliser ? avec un racourcis sur le buro
mes images je les glisse dessus ou il faut que je les colle dans le meme rep que le scrip ?
peux tu m'expliquer.

encore merci
Go to the top of the page
 
+Quote Post
noop
posté 17 Jan 2013, 09:27
Message #6


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 577
Inscrit : 3 Nov 2005
Membre no 49 239



Bonjour,

essaye de décrire toutes les phases de renommage de tes fichiers. Rien n'est clair.

Par exemple

*0.jpg est renommé en ...._l.jpg

D'ou vient le caractère l qui précède .jpg ??? On n'en sait rien.

Donne nous toutes les règles de renommage. Merci !
Go to the top of the page
 
+Quote Post
crom1
posté 17 Jan 2013, 09:34
Message #7


Nouveau Membre


Groupe : Membres
Messages : 10
Inscrit : 16 Jan 2013
Membre no 182 031



salut noops,

desoler mais question ne semblais pas tres claire
renomer une image *0.jpg en nom_l.jpg
je l'aurais souhaiter en applescript car il semblerais que plus simple a utiliser on glisse les images sur l'icon c'est comme cela que ça marche ?


voila en shell le prog de schlum qui lui semble claire

echo "nom ?"
read nm
mv "*0.jpg" "$nm_l.jpg"
mv "*1.jpg" "$nm_f.jpg"
mv "*2.jpg" "$nm_r.jpg"
mv "*3.jpg" "$nm_b.jpg"
mv "*4.jpg" "$nm_u.jpg"
mv "*5.jpg" "$nm_d.jpg"



Go to the top of the page
 
+Quote Post
noop
posté 17 Jan 2013, 09:37
Message #8


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 577
Inscrit : 3 Nov 2005
Membre no 49 239



Citation (crom1 @ 17 Jan 2013, 09:34) *
salut noops,

desoler mais question ne semblais pas tres claire
renomer une image *0.jpg en nom_l.jpg
je l'aurais souhaiter en applescript car il semblerais que plus simple a utiliser on glisse les images sur l'icon c'est comme cela que ça marche ?


voila en shell le prog de schlum qui lui semble claire

echo "nom ?"
read nm
mv "*0.jpg" "$nm_l.jpg"
mv "*1.jpg" "$nm_f.jpg"
mv "*2.jpg" "$nm_r.jpg"
mv "*3.jpg" "$nm_b.jpg"
mv "*4.jpg" "$nm_u.jpg"
mv "*5.jpg" "$nm_d.jpg"


Désolé d'insister mais comment un fichier qui se termine avec 5.jpg se voir renommer pour la partie finale du nom en d.jpg. D'ou vient ce caractère "d" ????. C'est celà que nous voulons savoir.
Go to the top of the page
 
+Quote Post
crom1
posté 17 Jan 2013, 09:53
Message #9


Nouveau Membre


Groupe : Membres
Messages : 10
Inscrit : 16 Jan 2013
Membre no 182 031



justement c'estça mon soucis

je veux que quand le fichier d'origine fini par *0.jpg il me le renome par _d.jpg avec un nouveau nom exemple: toto
donc au final le fichier sera toto_d.jpg

s'il fini par 1 remplacer par _f ...etc et cela pour les 6 images

merci

Go to the top of the page
 
+Quote Post
noop
posté 17 Jan 2013, 10:27
Message #10


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 577
Inscrit : 3 Nov 2005
Membre no 49 239



Script shell a tester avant de le lancer sur des fichiers "réels". Créé toi un répertoire temporaire dans lequel tu copie des fichiers réels pour voir ce qui se passe.

Code
echo "Entrer le nouveau nom qui servira a renommer les fichiers"
read nm

for suffixe in 1 2 3 4 5
do
    case "$suffixe" in
    "0")
        fin="l"
;;
    "1")
        fin="f"
;;
    "2")
        fin="r"
;;
    "3")
        fin="b"
;;
    "4")
        fin="u"
;;
    "5")
        fin="d"
;;
    esac

    for i in "*${suffixe}.jpg"; do
        mv $i "${nm}_${fin}.jpg"
    done
done


Ce message a été modifié par noop - 17 Jan 2013, 10:27.
Go to the top of the page
 
+Quote Post
crom1
posté 17 Jan 2013, 10:39
Message #11


Nouveau Membre


Groupe : Membres
Messages : 10
Inscrit : 16 Jan 2013
Membre no 182 031



ok merci je vais tester
mais je ne sais pas comment je cree ce srcipt shell
je le copie dans un editeur de texte et je le souvegarde en quelle extention ?
et je le met dans le meme rep que mes images ? et je fait un alias sur le buro ?

Go to the top of the page
 
+Quote Post
noop
posté 17 Jan 2013, 10:47
Message #12


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 577
Inscrit : 3 Nov 2005
Membre no 49 239



Citation (crom1 @ 17 Jan 2013, 10:39) *
ok merci je vais tester
mais je ne sais pas comment je cree ce srcipt shell
je le copie dans un editeur de texte et je le souvegarde en quelle extention ?
et je le met dans le meme rep que mes images ? et je fait un alias sur le buro ?

tu le copie dans éditeur de TEXTE (très important !!!). Tu le sauve dans ton répertoire "Maison" sous le nom renomme.sh
Puis tu ouvre le terminal
tu tapes:

Code
chmod +x renomme.sh


Pour aller depuis le terminal dans ton dossier image tu fais:

Code
cd suivi d'un espace sans taper sur la touche entrée


Puis tu drag and drop ton dossier (PAS LE CONTENU DU DOSSIER) sur le terminal. Ca doit afficher

Code
cd "le nom complet de ton dossier"


tu tapes sur la touche entrée

et pour renommer tes fichiers tu tapes:

Code
$HOME/renomme.sh
Go to the top of the page
 
+Quote Post
crom1
posté 17 Jan 2013, 11:10
Message #13


Nouveau Membre


Groupe : Membres
Messages : 10
Inscrit : 16 Jan 2013
Membre no 182 031



merci
pour ces reponse mais ça me parait compliquer pour un user de mac
car se scripte est pour mes utilisateurs mac si il faut ouvrir le terminal et taper out cela mais utilisateur ne le feront pas
l n'y a pas plus simple on est sous mac c'est normalement glisser deposer non ?
Go to the top of the page
 
+Quote Post
noop
posté 17 Jan 2013, 11:14
Message #14


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 577
Inscrit : 3 Nov 2005
Membre no 49 239



dans un apple script tu peux appeler un script shell
Go to the top of the page
 
+Quote Post
crom1
posté 17 Jan 2013, 11:49
Message #15


Nouveau Membre


Groupe : Membres
Messages : 10
Inscrit : 16 Jan 2013
Membre no 182 031



interessant ça et comment je fait spt ?
Go to the top of the page
 
+Quote Post
noop
posté 17 Jan 2013, 12:57
Message #16


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 577
Inscrit : 3 Nov 2005
Membre no 49 239



desole je connais pas apple script.

http://developer.apple.com/library/mac/tec...065/_index.html
Go to the top of the page
 
+Quote Post
noop
posté 17 Jan 2013, 14:39
Message #17


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 577
Inscrit : 3 Nov 2005
Membre no 49 239



Pour utiliser le script dans un applescript, remplace les deux première lignes:

Code
echo "Entrer le nouveau nom qui servira a renommer les fichiers"
read nm


par

Code
nm="$1"
Go to the top of the page
 
+Quote Post
crom1
posté 17 Jan 2013, 15:12
Message #18


Nouveau Membre


Groupe : Membres
Messages : 10
Inscrit : 16 Jan 2013
Membre no 182 031



ok je regarderais je suis dans le scrip shell
et j'ai des soucis
le fichier est ok il commence par la 1er line
echo "Entrer le nouveau nom qui servira a renommer les fichiers"
j'ai renomer l'extention.sh changer les droits
j'ai meme mis le fichier dans le rep des images
et en shel ./renom.sh
et la ligne 1 : commande not found
Go to the top of the page
 
+Quote Post
sucellus
posté 17 Jan 2013, 18:57
Message #19


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 085
Inscrit : 4 Oct 2005
Membre no 47 253



Citation (crom1 @ 16 Jan 2013, 18:04) *
Bonjour a tous,

j'ai fait un petit script en shell sous pc que je voudrais tranferer sous apple donc applescript mais je suis completement novice alors forcement je bloque.
voila ce que je voudrais.

un rep de 6 imagesen JPG au lancement du scripte on demande le nom des images a renomer. elle auront le meme nom de debut
pour l'exemple je prend TOTO , toutes les images finise par un numero de 0 a 5 mais la longeur du nom de fichier n'est pas fixe.

-------0.jpg-> renomer en toto_l.jpg
-------1.jpg ->renomer en toto_f.jpg
-------2.jpg ->renomer en toto_r.jpg
-------3.jpg ->renomer en toto_b.jpg
-------4.jpg ->renomer en toto_u.jpg
-------5.jpg ->renomer en toto_d.jpg

quelq'un aurai une idée pour commencer ? huh.gif

merci

Bonsoir

Un exemple en AppleScript pour voir si c'est ce résultat que tu recherche.

A tester dans l'éditeur de scripts.
Code
set x to {"argent 0.jpg", "ciel1.jpg", "temps nuageux2.jpg", "sud 3.jpg", "russie4.jpg", "Terre Adelie5.jpg", "Nul sans N°.Jpg"}
set y to {"i", "f", "r", "b", "u", "d"}

repeat with i from 1 to 7
    set lue to item i of x as string
    
    if (i - 1 & ".jpg" as string) is in lue then -- Pour prendre en compte à partir de zéro
        set z to "Toto_" & item i of y & ".jpg" as string
        display dialog "Nom original: " & lue & return & "Nouveau nom: " & z as string
    end if
    
end repeat


@+


--------------------
Impossible de vous dire mon âge, il change tout le temps.

PowerBook G4 17" Système 10.3.9 (volume Panther) & Système 10.4.8(volume Tiger)
iMac 24" core 2 Duo volume 1 = Système Snow Léopard 10.6.7, volume 2 = Leopard 10.5.8 Startup disk
iMac 27" Intel core i5 3,1 Gh Mémoire vive 16 Go Mountain Lion 10.8.2
Go to the top of the page
 
+Quote Post
noop
posté 17 Jan 2013, 19:03
Message #20


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 577
Inscrit : 3 Nov 2005
Membre no 49 239



Citation (crom1 @ 17 Jan 2013, 15:12) *
ok je regarderais je suis dans le scrip shell
et j'ai des soucis
le fichier est ok il commence par la 1er line
echo "Entrer le nouveau nom qui servira a renommer les fichiers"
j'ai renomer l'extention.sh changer les droits
j'ai meme mis le fichier dans le rep des images
et en shel ./renom.sh
et la ligne 1 : commande not found


Essaye la deuxième version du fichier en remplacant les deux premières lignes par nm='$1" et tu lance ton script en passant lemot en paramètre. Exemple

Code
./renom.sh toto



Go to the top of the page
 
+Quote Post
crom1
posté 18 Jan 2013, 09:18
Message #21


Nouveau Membre


Groupe : Membres
Messages : 10
Inscrit : 16 Jan 2013
Membre no 182 031



voila ça marche en shell

Code
#!/bin/sh
cd /Users/monmac/Desktop/convert
echo "Nom du sperique"
read mn
mv *0.jpg "$mn _l.jpg"
mv *1.jpg "$mn _f.jpg"
mv *2.jpg "$mn _r.jpg"
mv *3.jpg "$mn _b.jpg"
mv *4.jpg "$mn _u.jpg"
mv *5.jpg "$mn _d.jpg"

en terminal
chmod +x renomme.sh
ensuite il faut suprimer l'extention du fichier ce qui le rend executable sur le bureau

voila, je vais essayer en applescript mais je ne comprend pas pourquoi faire une boucle en sachant qu'eil n'y aura toujours que 6 images
on peut pas faire plus simple

merci a vous


Go to the top of the page
 
+Quote Post
noop
posté 18 Jan 2013, 10:48
Message #22


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 577
Inscrit : 3 Nov 2005
Membre no 49 239



Citation (crom1 @ 18 Jan 2013, 09:18) *
voila, je vais essayer en applescript mais je ne comprend pas pourquoi faire une boucle en sachant qu'eil n'y aura toujours que 6 images
on peut pas faire plus simple


Pourquoi une boucle alors qu'il n'y a que 6 fichiers ?

Parce que moi je suis feignant (je ne sais pas pour Schlum). Et il vaut toujours mieux écrire le plus "réutilisable" possible car je n'aime pas faire de la maintenance de programe ou de script. Donc on essaye d'être générique et on se dit tiens uniquement 6 ? mais après tout pourquoi pas dans un proche avenir 10 ou 100 fichiers. Alors la boucle est la solution dans ce cas.

Ce message a été modifié par noop - 18 Jan 2013, 10:49.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 26th May 2013 - 10:21