Exemples
La programmation AppleScript en exemples.

Finder
Mettre un fichier à la poubelle.
Ou plus généralement déplacer un fichier. Imaginons qu'on soit nostalgique de la poubelle de Mac OS 2. On pourra faire un script sous forme de Droplet qui déplacera le(s) fichier(s) glissé(s) vers la poubelle.

Exemple 3 : récupérez ici le script, libre à vous de fournir les fichiers à mettre à la poubelle.

Le Script :

on open (list_of_aliases)
repeat with i in list_of_aliases
tell application "Finder" to move {file i} to trash
end repeat
end
open

Explications :
C'est le principe de la droplet décrit dans l'exemple précédent. La nouveauté réside dans l'instruction "
move {file i} to trash". On notera également que "i" est un alias, donc on ne jette pas un alias à la poubelle puisque qu'un alias est un pointeur vers un fichier existant (c'est virtuel) mais on jette le fichier pointé par l'alias ; d'où l'usage de "{file i}".

Astuces :
• ce script ne fonctionne pas s'il n'est pas enregistré sous forme de Droplet
• ce script ne sert à rien si on ne choisit pas "Stay open" dans les options d'enregistrement. Ainsi le script (l'application) reste ouverte et on peut y glisser des fichiers sur l'icône du script sur le bureau sans avoir à attendre le lancement de l'application.
• ce script ne permet pas de jeter un dossier puisqu'on a utilisé "move {file i}" qui déplace un fichier et non un dossier. Pour déplacer un dossier, veuillez lire l'exemple suivant.



Finder
Reconnaitre un fichier d'un dossier.
Nous allons utiliser la fonction "Get info for" afin d'obtenir des informations sur un fichier. Imaginons qu'on veuille jeter des fichiers et/ou des dossiers à la poubelle. On va donc obtenir des informations sur chaque fichier afin de savoir s'il s'agit d'un document (file) ou d'un dossier (folder).

Exemple 4 : récupérez ici le script.


Le Script :
on open (list_of_aliases)
repeat with i in list_of_aliases
set mon_info to (info for i)
if (folder of mon_info) then
tell application "Finder" to move {folder i} to trash
else
tell application "Finder" to move {file i} to trash
end if
end repeat
end open

Explications :
En français : la variable "mon_info" va stocker sous forme de liste toutes les informations disponibles sur le fichier telles que la taille, le nom, le type de fichier, le créateur, etc… Le test "(folder of mon_info)" va renvoyer "True" s'il s'agit d'un dossier et "False" s'il s'agit d'un fichier.

Astuce :
• parfois une application sera considérée comme un dossier et parfois comme un fichier. Les scripts téléchargés seront des fichiers alors qu'une application comme "Chess" sera un dossier.