Pb logique en AppleScript (on adding folder...)

Publié : 28.01.2007 - 20h18 par Yoann

Bonjour à tous.

Je débute encore en AppleScript et je suis confronté au problème suivant :
J'ai monté un script qui a pour fonction d'ajouter la date "dans" le nom des fichiers ajoutés dans un dossier.

En 2 mots, quand on ajoute un fichier, le script sépare le nom de l'extension, y insère la date puis une lettre, teste si le fichier existe déjà (auquel cas il incrémente la lettre), puis, dernière étape, il renomme le fichier pour de vrai.

Tout se passe bien jusque là... sauf qu'il considère ce dernier renommage comme un nouveau fichier dans le dossier, et relance le script en boucle !? :x

Quelqu'un voit-il une solution simple pour eviter ça ?
Merci beaucoup !

_Yoann


Publié : 01.02.2007 - 15h14 par philjfry

Bonjour

Tu testes s'il y a la déjà la date dans le nom du fichier au début de ton script. Si oui, tu l'arrêtes.
C'est difficile de répondre plus sans voir le détail du code.


Publié : 01.02.2007 - 20h10 par Tom25

Et en mémorisant la date et l'heure du dernier lancement du script ? Si relancé moins de 0,1 sec après le l'exécution précédente alors rien faire.


Mais bon, moi j'ai déactivé les folder Action script, c'était une bonne idée d'Apple mais en fait c'est chiant. Vaut mieux faire un script qui fait ce que tu veux quand tu lui lâches des fichiers dessus et qui te déplace ces derniers là où tu veux. Au moins quand tu utilises ton script 40 ans après tu sais qu'il va se passer quelques chose, et si tu ne sais plus quoi tu regardes ton code. Alors qu'un script de dossier …


Publié : 01.02.2007 - 21h11 par Yoann

Bonjour et merci pour vos réponses :)

La seconde option de Tom25 me semble la plus efficace (rapide). Il faut juste que je trouve comment stocker l'heure d'execution. Les scripts peuvent conserver des variables entre plusieurs executions? Il faut encore que je bouquinne et fasse des essais. En tout cas, merci pour l'alternative à la longue boucle de test "y'a-t-il-une-date?".

L'interêt pour moi des actions de dossiers, c'est :
- je monte un dossier de travail "type", avec des actions précises sur certains dossiers, propres à mon organisation,
- je le duplique à chaque nouveau boulot,
- je bosse sur mes logiciels et j'enregistre mes fichiers dans le bon dossier, avec un nom simple et concis,
- le script le formate nickel pour les envois mail aux clients, duplique vers un disque de sauvegarde, enregistre des infos de suivi dans un log, etc...

Bref, comment perdre des nuits pour gagner 3 minutes par jour, héhé... 8)


Publié : 02.02.2007 - 9h32 par Tom25

Il faut créer une property pour mémoriser une variable entre plusieurs exécutions. Télécharges des xemples sur mon site si tu veux, par exemple
MémoDate.