Fondamentaux
La programmation AppleScript en exemples.

Obtenir un nom de fichier via "choose file name".
Imaginons qu'on veuille enregistrer un fichier sur le disque de manière interactive. On va donc demander à l'utilisateur de choisir un dossier où l'enregistrer et un nom. Le Finder va afficher la fenêtre de dialogue habituelle. Toutefois, le résultat renvoyé par la fonction "choose file name" est une de type file url. C'est-à-dire qu'on obtient le chemin d'accès à un fichier qui n'existe pas encore. Dans l'exemple qui suit, on va gérer les 2 cas possibles : (1) le fichier doit être créer et (2) le fichier doit être écrasé.


Exemple 7 : récupérez l'AppleScript ici.

Le Script :

tell application "Finder"
set fichier_cible_sauvegarde to choose file name with prompt "Choisissez un dossier pour enregistrer" default name "toto.txt"
try
set fichier_a_ecraser to (fichier_cible_sauvegarde as string) as alias
do shell script
("rm " & (POSIX path of (fichier_cible_sauvegarde as string)))
end try
set
AppleScript's text item delimiters to {":"}
set mes_elements to {} & text items of (fichier_cible_sauvegarde as string)
set nom_de_la_cible to last item of mes_elements
set chemin_acces_vers_fichier to ((reverse of rest of reverse of mes_elements) as string) & ":"
set la_cible to make new file at alias chemin_acces_vers_fichier with properties {name:nom_de_la_cible, creator type:"R*ch", file type:"TEXT"}
set fichier_cible to (chemin_acces_vers_fichier & nom_de_la_cible) as alias
end tell

log fichier_cible



Explications :
On a demandé à l'utilisateur de choisir un nom pour sauvegarder et un dossier de destination. Il faut alors créer le fichier (voir "Créer un fichier vide") s'il n'existe pas, sinon effacer le fichier existant et créer un nouveau.

Avec la fonction "
try", on essaie de créer un alias vers ce fichier (dont on connait le chemin d'accès). Si cette opération réussit, c'est que le fichier existe, alors on utlise "do shell script" afin qu'il soit réellement effacé et non pas juste déplacé dans la poubelle.
Si cette opération échoue, c'est que le fichier n'existe pas, alors on va le créer.

On connait le chemin d'accès au fichier (
fichier_cible_sauvegarde), on va donc séparer le nom du fichier (dernier élément du chemin d'accès) et le dossier de destination (tout le chemin d'accès sans le nom du fichier). On a alors tout les éléments nécessaires pour créer le fichier sur le disque.

Le fichier est alors créer et un alias vers ce fichier existe : "
fichier_cible".


Astuces :
Le fichier créé est vide. Il faudra le remplir ultérieurement.(voir "Ecrire dans un fichier").
La dernière ligne "
log fichier_cible" ne sert à rien d'autre qu'illustrer l'exemple.