Page 1 sur 1

[R] Comment modifier le contenu d'un fichier ?

Posté : lun. 04 août 2008 14:11
par gregob
Bonjour,

Je souhaite utiliser Autoit pour automatiser l'ajout d'une chaîne de caractère à chaque ligne d'un fichier. (l'extension du fichier est .asc mais je pense que c'est pareil pour les .txt).

J'ai fait un petit script mais le fichier cible n'est jamais modifié. Pour vérifier, j'ai rajouté des msgBox dans le traitement, je vois bien la ligne modifiée. Seulement après l'exécution du script le fichier cible est toujours identique.

Voici le script:

Code : Tout sélectionner

#include <File.au3>
;boite de dialogue pour selectionner le fichier à modifier
$var = FileOpenDialog("Choisissez le fichier à modifier", @DesktopDir, "Fichier asc (*.asc)", 1 )

;ouverture du fichier
$file = FileOpen($var, 128)

;lecture de chaque ligne jusqu'à la fin du ficher
While 1
        ;lecture de la ligne
    $line = FileReadLine($file)
    MsgBox(0, "Ligne lue: ", $line)
    If @error = -1 or $line = "" Then ExitLoop
        $line = $line & "#@#"
        MsgBox(0, "Ligne mise à jour: ", $line)
                ;modification de la ligne = ajout de #@# en fin de ligne
        FileWriteLine($file, $line & @CRLF) 
WEnd

FileClose($file)
Merci pour votre aide.
:?:

Re: Comment modifier le contenu d'un fichier

Posté : lun. 04 août 2008 21:56
par arrkhan
voilà un petit script qui peut correspondre a ce que tu cherche, il sera a adapter a ton besoin, pour l instant et par mesure de securité il cree un nouveau fichier nomme fichiermodifie.asc dans le repertoire de lancement de l appli
► Afficher le texte

Re: [..] Comment modifier le contenu d'un fichier ?

Posté : ven. 08 août 2008 14:37
par gregob
Super !!
Merci beaucoup arrkhan

Re: [..] Comment modifier le contenu d'un fichier ?

Posté : ven. 08 août 2008 15:13
par arrkhan
quand un sujet est résolu, n'oubli pas d'editer le titre de ton sujet en modifiant [..] par [R]

Re: [R] Comment modifier le contenu d'un fichier ?

Posté : mar. 19 août 2008 15:57
par tolf
En fait, le problème du premier script vient du fait qu'un fichier ne peut être ouvert à la fois en mode lecture et en mode écriture donc comme ici il a été ouvert en mode lecture, l'écriture n'a pas pu se faire.