[?]   dans   mode   trier par   

[<] 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