[<] Sujet : [AS] Ajouter_un_pr_éfixe_séquentiel_à_une_li ste09de_fichiers
De : PJ <anonyme@...>
Date : 2008-02-28 16:05:29
Sujet : Re: [AS] Ajouter_un_pr_éfixe_séquentiel_à_une_li ste09de_fichiers
De : jlouisleg <anonyme@...>
Date : 2008-02-28 17:36:10
Sujet : Re: [AS] Ajouter_un_pr_éfixe_séquentiel_à_un e_liste09de_fichiers
De : KOENIG Yvan <anonyme@...>
Date : 2008-02-28 17:54:47
Sujet : Re: [AS] Ajouter_un_pr_éfixe_séquentiel_à_une_ liste09de_fichiers
De : jlouisleg <anonyme@...>
Date : 2008-02-28 18:08:08
Sujet : Re: [AS] Ajouter_un_pr_éfixe_séquentiel_à_une_li ste09de_fichiers
De : jlouisleg <anonyme@...>
Date : 2008-02-28 18:55:37
Sujet : Re: [AS] Ajouter_un_pr_éfixe_séquentiel_à_un e_liste09de_fichiers
De : KOENIG Yvan <anonyme@...>
Date : 2008-02-28 19:43:36
Le 28 févr. 2008 à 18:55, jlouisleg a écrit :
>> …
> Bonsoir
>
> J'ai prit ça pour moi, pour la bonne raison que je me suis
> aperçut que c'était un script pour OS.9 vue que lis les mails
> sans regarder l'ordre.
>
> Je ne pouvais pas me fâcher, parce que je vous respecte et
> que mon prénom ne commence par un N......
>
> Le code:
> set ancien_nom to name of un_fichier
>
> chez moi Leopard 10.5.2 me donne une erreur car c'est
> le chemin qu'il trouve dans repeat vu que j'ai fait le test
> avec un fichier sur le bureau.
>
> la routine suppose qu'elle reçoit une liste de fichiers, pas un
> dossier.
>
> C'est aussi un script qui ne fait aucun enregistrement des résultats,
> j'ai pris ça pour une recherche sur une partie du code.
>
> Du temps d'Hebdogiciel il fallait un résultat avec un code le plus
> court possible.
>
> Cordialement
>
> Jean Louis
L'incident "casse-burnes" étant clôt, revenons aux choses sérieuses.
Le script initial était:
-- Renommer les fichiers sélectionnés
--
tell application "Finder"
repeat with un_fichier in liste_des_fichiers
get the info for the un_fichier
set useMe to the result
get the name of useMe
set ancien_nom to the result
set sequence to sequence + 1
if sequence < 10 then
set char_sequence to ("00" & sequence as string)
else
if sequence < 100 then
set char_sequence to ("0" & sequence as string)
else
set char_sequence to (sequence as string)
end if
end if
-- display dialog ancien_nom
set nouveau_nom to char_sequence & "-" & ancien_nom
-- display dialog nouveau_nom
set the name of un_fichier to nouveau_nom
end repeat
end tell
end open
et vous en avez proposé une variante.
on open (liste_des_fichiers)
set sequence to 0 as integer
tell application "Finder"
repeat with un_fichier in liste_des_fichiers
set ancien_nom to name of (info for un_fichier)
set nouveau_nom to ((text -2 thru -1 of ("00" & sequence + 1) & "-"
& ancien_nom as string))
end repeat
end tell
end open
J'avais relevé la ligne
-- Renommer les fichiers sélectionnés
et constaté (et donc fait remarquer) que ni l'original ni votre
version ne renomment les ficiers.
Dans les deux cas, elles se bornent à construire une chaîne de
caractère nommée nouveau_nom qui n'est attribuée à aucun fichier.
J'ai ajouté quelques instructions d'appel
[SCRIPT]
set liste to {"Macintosh HD:Users:yvankoenig:Desktop:dossier sans
titre:les_fonctions_Numbers+.rtfd:", "Macintosh
HD:Users:yvankoenig:Desktop:dossier sans titre:test.rtfd:"}
my open_(liste)
on open_(liste_des_fichiers)
set sequence to 0 as integer
tell application "Finder"
repeat with un_fichier in liste_des_fichiers
set un_fichier to un_fichier as alias
set ancien_nom to name of un_fichier
set sequence to sequence + 1
set nouveau_nom to ((text -2 thru -1 of ("00" & sequence) & "-" &
ancien_nom as string))
set name of un_fichier to nouveau_nom
end repeat
end tell
end open_
[/SCRIPT]
et ça fonctionne parfaitement sous MacOS X.
En voici le rapport d'exécution
tell application "Finder"
get name of alias "Macintosh HD:Users:yvankoenig:Desktop:dossier
sans titre:les_fonctions_Numbers+.rtfd:"
"les_fonctions_Numbers+.rtfd"
set name of alias "Macintosh HD:Users:yvankoenig:Desktop:dossier
sans titre:les_fonctions_Numbers+.rtfd:" to "01-les_fonctions_Numbers
+.rtfd"
"01-les_fonctions_Numbers+.rtfd"
get name of alias "Macintosh HD:Users:yvankoenig:Desktop:dossier
sans titre:test.rtfd:"
"test.rtfd"
set name of alias "Macintosh HD:Users:yvankoenig:Desktop:dossier
sans titre:test.rtfd:" to "02-test.rtfd"
"02-test.rtfd"
end tell
Yvan KOENIG
_______________________________________________
Applescript_fr mailing list
anonyme@...
http://listes.patpro.net/mailman/listinfo/applescript_fr
Apple, AppleScript, AppleScript Studio, AppleTalk, AppleWorks, ColorSync, Finder, HyperCard, iBook, iLife, iMac, iWork, Keynote, Mac, Macintosh, Mac OS, Pages, Panther, PowerBook, Power Mac, Power Macintosh, QuickTime, Safari, Tiger, Xcode sont des marques déposées par Apple Computer, Inc., enregistrées aux Etats-Unis et dans les autres pays. Liste officielle