Comment améliorer mon script Automator ?

whereismymind

Membre expert
Club iGen
8 Juillet 2006
3 821
107
46
Paris
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.
 
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.

Bloc de code:
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… ;)
 
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.
 
Hello,

Merci pour ta ré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 à attacher à un dossier de la manière suivante :

1 - placer le script obtenu, par copier/coller dans l'éditeur de script, dans le dossier "Folder Action Scripts" du dossier "Scripts" de ta bibliothèque
2 - activer les actions de dossier, si ce n'est déjà 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…" dans le menu contextuel qui s'affiche
4 - choisir le script dans la fenêtre qui s'ouvre

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.
Tout va dépendre du dossier auquel tu l'attaches, il suffit que tu l'attaches au dossier dans lequel tu déposes les applications que tu souhaites conserver pour qu'il les copie dans le disque externe. Tu n'auras plus à lancer de sauvegarde puisque ce script va copier automatiquement l'élément ou les éléments dernièrement déposés.
Je pense que c'est la présence du ".download" qui t'as induit en erreur, puisque ce script n'est pas destiné au dossier "Téléchargements" on peut le simplifier comme ce qui suit :
Bloc de code:
on adding folder items to theFolder after receiving these_items
	tell application "Finder"
		set targetFolder to "chemin:du:disque:"--chemin à 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
;)
 
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 ?
 
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… :up:
 
  • J’aime
Réactions: koeklin
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:

Bloc de code:
set targetFolder to "chemin:du:disque:"--chemin à remplacer par le chemin du disque externe

Merci :)
 
Le chemin sera de type hfs (avec ":") et oui il faut bien mettre : à la fin ce qui signifie que c'est un dossier ou un disque…

Le plus simple pour obtenir le chemin exact est de lancer le code suivant dans l'éditeur de script puis de récupérer le chemin dans la partie résultat (au bas de la fenêtre) sans prendre le mot "alias" écrit en bleu…
Bloc de code:
choose folder
;)
 
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 !!