Aide aux divers cours ou à votre activité - Bruno GADRAT
AppleScript Droplet, Action de dossier et Menu script
On run, on open, on adding folder
On peut aussi faire les trois à la fois en enregistrant le script sous la forme d'une application que l'on place dans le dossier Folder Action Script et en faisant un alias dans le dossier Script pour le lancer par le menu script et un alias sur le bureau ou sur le doc pour l'utiliser comme droplet.
Mais ce n'est pas parce que tout est possible que l'on doit forcément tout faire.
-- Applescript - Petits bouts de programmes utiles par B.Gadrat - 22 déc 2009
-- Traite les Éléments déposés sur le dossier, sur la droplet ou sélectionnés dans le Finder
-- Copier ce code dans l'éditeur de script et enregistrez-le comme application
-- Placez le dans le dossier Library/Scripts/Folder Action scripts/ pour vous en servir comme action de dossier
-- Faites un alias dans le dossier Library/Scripts/ pour l'appeler à partir du menu script
-- Posez la sur le dock pour vous en servir comme droplet
--fonction de réaction du dossier
on adding folder items to ceDossier after receiving itemsajoutes
traiteLesElements(ceDossier, itemsajoutes)
end adding folder items to
-- fonction de droplet
on open (itemsajoutes)
activate
set ceDossier to nomduscript()
traiteLesElements(ceDossier, itemsajoutes)
end open
-- au lancement
on run
set itemsajoutes to selection of application "Finder"
if (count of itemsajoutes) = 0 then
display dialog ("Il faut sélectionner des éléments dans le finder avant de lancer ce script")
else
tell application "Finder" to set ceDossier to choose folder with prompt "Choix du dossier d'arrivée" invisibles no multiple selections allowed no
activate
traiteLesElements(ceDossier, itemsajoutes)
end if
end run
-- fonction qui donne le nom de la droplet
on nomduscript()
tell application "Finder"
set the lesApp to name of every process whose file type is "APPL"
return last item of lesApp
end tell
end nomduscript
-- fonction qui traite ce qui est recu
on traiteLesElements(ceDossier, itemsajoutes)
set message to (return & "dossier: " & return & (ceDossier as string) & return & return & "Élements ajoutés: " & return)
repeat with leFichier in itemsajoutes
set message to message & leFichier & return
end repeat
display dialog (message)
end traiteLesElements
Orig: 2009/12 Rev: 2010/01/10
onRunOnOpenOnAddingFolder.html
Design et gestion du site B.Gadrat