Lire contenu fichier applescript

titigrou

Membre expert
Club iGen
23 Décembre 2004
1 109
26
41
Lille
Hello,

J'ai un fichier toto.txt sur le bureau, et j'aimerai récupérer son contenu pour le coller ailleurs.
Du coup, j'ai fait un truc un peu sale, j'ouvre le fichier vec textedit, un delay, un ctrl A avec un keycode, un ctrl C ensuite et voilà...
Mais je me demandais si il était possible de copier automatiquement le contenu d'un fichier sans l'ouvrir et sans faire le ctrlA et ctrlC.
Bloc de code:
tell application "TextEdit"
    activate
    open chemin_vers_le_fichier
    delay 5
    tell application "System Events" to key code 12 using command down -- Tout sélectionner
    delay 2
    tell application "System Events" to key code 8 using command down -- Copier
    delay 2
end tell
Merci pour votre aide.

Antoine
 
Dernière édition:
Bonsoir,

La lecture d'un fichier se fait à l'aide des commandes open, read et close, pour respectivement ouvrir le fichier, en lire le contenu et le refermer :

Open for access fichier
set contenu to read fichier
close access fichier
 
Hello,
Merci pour ta réponse.
Donc concrètement, je fais
Bloc de code:
set chemin_vers_le_fichier to (("/Users/Antoine/Desktop/Programme/" as text) & "toto.txt")
open for access chemin_vers_le_fichier
Mais après pour copier le contenu (qui peut faire plusieurs lignes), dans une variable que on va appeler au hasard Vartoto, je peux faire comment?
 
set chemin_vers_le_fichier to (("/Users/Antoine/Desktop/Programme/" as text) & "toto.txt")
open for access chemin_vers_le_fichier
set vartoto to read chemin_vers_le_fichier
close access chemin_vers_le_fichier
display dialog vartoto -- pour voir ta variable vartoto

la dernière ligne t'affiche le contenu la variable.
 
Alors quand je fais ça et que je le lance, l'éditeur applescript me répond
Bloc de code:
error "Erreur de fin de fichier." number -39 from file "Macintosh HD:Users:Antoine:Desktop:programme:toto.txt"

Ca te dit quelque chose?
 
tu es sur du chemin de ton fichier? et est ce bien un fichier texte?
pour être sur d'avoir le bon chemin tu tapes:
set chemin_vers_le_fichier to "
tu glisses ton fichier sur la fenêtre et tu ajoutes les ".
 
J'ai glissé déposé mon fichier dans ma fenêtre apple script pour remplacer le path, du coup mon code ressemble à ça
Bloc de code:
set chemin_vers_le_fichier to "/Users/Antoine/Desktop/Programme/toto.txt"
--set chemin_vers_le_fichier to (("/Users/Antoine/Desktop/Programme/" as text) & "toto.txt")
open for access chemin_vers_le_fichier
set vartoto to read chemin_vers_le_fichier
close access chemin_vers_le_fichier
display dialog vartoto -- pour voir ta variable vartoto

et j'ai toujours
Bloc de code:
error "Erreur de fin de fichier." number -39 from file "Macintosh HD:Users:Antoine:Desktop:Programme:toto.txt"

Pour mon fichier txt, je l'ai crée avec textedit, mais il m'a crée un .rtf, que j'ai ensuite renommé en .txt, c'est peut être ça du coup?

Edit: j'ai trouvé comment créer un .txt directement, et ça fait toujours pareil.
 
En faisant un copier coller de ton code je n'ai pas de problème chez moi !
Je suppose donc que cela doit venir de ton fichier.
 
J'ai fait 2 essais, un avec textedit, dans préférence coché format texte et un avec word et enregistrer sous format texte.
 
L'encodage dans les préfs sont sur automatique. J'ai laissé tous les réglages qu'il y avait par défaut.
 
Arf je pige pas là alors!
On est bien ok ton code c'est ça?
Bloc de code:
set chemin_vers_le_fichier to "/Users/Antoine/Desktop/Programme/toto.txt"
open for access chemin_vers_le_fichier
set vartoto to read chemin_vers_le_fichier
close access chemin_vers_le_fichier
display dialog vartoto -- pour voir ta variable vartoto
 
Tout a fait le code est bon, je viens de refaire un copier coller de ton texte dans applescript et pas de problème.