# Comment améliorer mon script Automator ?



## whereismymind (27 Septembre 2007)

Bonjour,

Je me suis crée un script pour faire un Backup automatique sur disque dur externe de tous les logiciels que je télécharge mais il me manque une petite fonction supplémentaire pour que ça soit plus efficace, je m'explique.

Le problème de mon script, c'est que je voudrais qu'il ne tienne compte que de nouveaux logiciels que je rajoute dans le dossier.

Parce qu'à chaque fois que je demande un backup, il recopie l'intégralité du contenu et vu qu'il commence à y avoir pas mal de choses, ça prend du temps.
Je voudrais qu'il ne copie que ce que j'ai ajouté récemment.

En espérant avoir été assez clair. Merci de m'avoir lu.


----------



## zacromatafalgar (27 Septembre 2007)

Salut,

J'ai fait un script de dossier au début du mois qui, lorsqu'un fichier est téléchargé, duplique ce fichier dans un autre disque.

Cela me semble correspondre à tes attentes si ce n'est que tu n'as pas à le lancer.


```
on adding folder items to theFolder after receiving these_items
	tell application "Finder"
		set targetFolder to "chemin:du:disque:"--chemin à remplacer
		set nbrefichiers to the count of these_items
		repeat with x from 1 to nbrefichiers
			set itemX to (item x of these_items)
			if name of itemX ends with ".download" then
				--ne rien faire
			else
				duplicate itemX to targetFolder
			end if
		end repeat
	end tell
end adding folder items to
```

Si tu as des questions


----------



## whereismymind (28 Septembre 2007)

Hello,

Merci pour ta réponse mais je me suis pas sur de savoir comment exploiter ton script. Ca marche avec Automator ?
Ton script semble très bien si ce n'est que (si j'ai bien compris), il backup tout ce que tu télécharges.

Je voudrais plutot choisir ce qui est sauvegardé. Je télécharge bcp de freewares et je les teste toujours avant de savoir si je souhaite les conserver.

En tout cas merci pour ta réponse et dis moi si je me trompe.


----------



## zacromatafalgar (28 Septembre 2007)

whereismymind a dit:


> Hello,
> 
> Merci pour ta r&#233;ponse mais je me suis pas sur de savoir comment exploiter ton script. Ca marche avec Automator ?


Non, ce script ne fonctionne pas avec Automator, c'est un script &#224; attacher &#224; un dossier de la mani&#232;re suivante :

1 - placer le script obtenu, par copier/coller dans l'&#233;diteur de script, dans le dossier "Folder Action Scripts" du dossier "Scripts" de ta biblioth&#232;que
2 - activer les actions de dossier, si ce n'est d&#233;j&#224; fait, par un clic droit sur le dossier cible=>menu "Activer les actions de dossier"
3 - faire un clic droit sur le dossier cible puis choisir "Joindre une action de dossier&#8230;" dans le menu contextuel qui s'affiche
4 - choisir le script dans la fen&#234;tre qui s'ouvre



whereismymind a dit:


> Ton script semble tr&#232;s bien si ce n'est que (si j'ai bien compris), il backup tout ce que tu t&#233;l&#233;charges.
> Je voudrais plutot choisir ce qui est sauvegard&#233;. Je t&#233;l&#233;charge bcp de freewares et je les teste toujours avant de savoir si je souhaite les conserver.


Tout va d&#233;pendre du dossier auquel tu l'attaches, il suffit que tu l'attaches au dossier dans lequel tu d&#233;poses les applications que tu souhaites conserver pour qu'il les copie dans le disque externe. Tu n'auras plus &#224; lancer de sauvegarde puisque ce script va copier automatiquement l'&#233;l&#233;ment ou les &#233;l&#233;ments derni&#232;rement d&#233;pos&#233;s.
Je pense que c'est la pr&#233;sence du ".download" qui t'as induit en erreur, puisque ce script n'est pas destin&#233; au dossier "T&#233;l&#233;chargements" on peut le simplifier comme ce qui suit :

```
on adding folder items to theFolder after receiving these_items
	tell application "Finder"
		set targetFolder to "chemin:du:disque:"--chemin &#224; remplacer par le chemin du disque externe
		set nbrefichiers to the count of these_items
		repeat with x from 1 to nbrefichiers
			set itemX to (item x of these_items)
			duplicate itemX to targetFolder
		end repeat
	end tell
end adding folder items to
```


----------



## whereismymind (28 Septembre 2007)

Bah oui, c'était évident pourtant !!!!!!!!!!!

Merci bcp je crois que ton script va mettre très utile !

Juste une question. Comment crée tu un tel script ? A l'aide d'un logiciel ou c'est à la main ?


----------



## zacromatafalgar (28 Septembre 2007)

whereismymind a dit:


> Bah oui, c'était évident pourtant !!!!!!!!!!!
> 
> Merci bcp je crois que ton script va mettre très utile !
> 
> Juste une question. Comment crée tu un tel script ? A l'aide d'un logiciel ou c'est à la main ?



Pas de quoi  

Je le code avec mes mimines dans l'éditeur de script. 

Si tu veux avoir un aperçu de la programmation Applescript, va faire un tour sur iScript.fr


----------



## whereismymind (28 Septembre 2007)

Juste une dernière question, car pour le moment, ça veut pas marcher ....

Je pense que j'indique mal le chemin de mon disque dur externe. De quelle manière je dois donner ce chemin ? 

Est ce que ça sera du type /Volume/Nom de mon disque dur externe/

Est ce que je dois laisser les : à la fin comme dans ton exemple:


```
set targetFolder to "chemin:du:disque:"--chemin à remplacer par le chemin du disque externe
```

Merci


----------



## zacromatafalgar (28 Septembre 2007)

Le chemin sera de type hfs (avec ":") et oui il faut bien mettre : &#224; la fin ce qui signifie que c'est un dossier ou un disque&#8230;

Le plus simple pour obtenir le chemin exact est de lancer le code suivant dans l'&#233;diteur de script puis de r&#233;cup&#233;rer le chemin dans la partie r&#233;sultat (au bas de la fen&#234;tre) sans prendre le mot "alias" &#233;crit en bleu&#8230; 

```
choose folder
```


----------



## whereismymind (28 Septembre 2007)

Merci bcp pour ta patience, ça marche enfin !!

Je suis sur Mac OS depuis un an et quelques mois et je découvre l'éditeur de script seulement aujourd'hui et c'est sacrément efficace. Merci encore !!


----------

