Je suis très surpris . L'instruction if exists ... marche à l'envers chez moi !!
set pathFileToto to "Macintosh HD/Users/Nom_User/Desktop/toto.txt"
set myFileToto to (pathFileToto as POSIX file)
if not (exists myFileToto) then ....
else ........
end if
Lorsque ce fichier toto.txt existe sous le desktop il se branche en "then" et lorsqu'il n'existe pas en "else". Bref tout le contraire de la logique booléenne!! Comprends pas !
L'autre truc qui m'étonne est que je cherche un programme relativement automatisé et j'ai besoin de mon de User pour exécuter des déclarations simples genre property . J'appelle un shell en UNIX un peu + loin et ça marche bien. Pour ça je fais:
set myUsername to (short user name of (system info))
property VoiceSpeechFile : "Macintosh HD:Users:Nom_User:Library:preferences:com.apple.speech.voice.prefs.plist" -- mon nom de User est écrit en toutes lettres à ce niveau-là.
Un display dialog myUsername m'affiche bien mon nom de User mais impossible de faire marcher le programme Applescript en substituant mon nom de User écrit en toute lettres (Nom_User) par myUsername. Le programme marche en écrivant mon nom en toutes lettres (Nom_User) et ne marche plus en lui substituant la variable myUsername !!! Il n'arrive plus à résoudre le do script shell + loin bien que mon nom de User soit écrit en toutes lettres dans la commande UNIX. Comprends pas non plus. Effet de bord ?
Merci de votre aide.
Partager