Ajouter une ligne à la fin d'un fichier texte

Résolu
Quatrelator Messages postés 10 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 18 novembre 2004 - 18 nov. 2004 à 09:53
Quatrelator Messages postés 10 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 18 novembre 2004 - 18 nov. 2004 à 11:30
Bonjour,

Je souhaiterais savoir comment ajouter une ligne à un fihier texte.

Fichier texte:
sapgw96 3396/tcp
sapgw97 3397/tcp
sapgw98 3398/tcp
sapgw99 3399/tcp

Ajouter:
sapmsVP3 3632/tcp
#

J'ai essayer avec un .bat avec une redirection sous >>
Le problème est que certain fichier texte original à la ligne sapgw99 3399/tcp il n'ya pas de retour de ligne.

Merci d'avance

6 réponses

gandalflegris007 Messages postés 211 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 11 juin 2007
18 nov. 2004 à 10:22
En .NET :

Imports System.IO

Dim SW As StreamWriter
Dim NomFichier, LigneAEcrire as string

NomFichier="c:\toto.txt"

SW = File.AppendText(NomFichier)

SW.WriteLine(LigneAEcrire)

SW.Close()

et le tour est re joué

Guich
3
gandalflegris007 Messages postés 211 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 11 juin 2007
18 nov. 2004 à 11:20
il faut que tu rajoutes la constante vbcrlf

> print #numfichier, vbcrlf & LigneAEcrire

MAIS, normalement le print insère automatiquement un retour chariot à la fin de l'écriture. Dans ton cas x'est parce que dans ton fichier txt initial, il te manquait ce caractère

si tu utilises la commande avec le vbcrlf 3 fois de suite, tu vas avoir
sapgw96 3396/tcp
sapgw97 3397/tcp
sapgw98 3398/tcp
sapgw99 3399/tcp
Ce que tu veux écrire

Ce que tu veux écrire

Ce que tu veux écrire

Donc , je sais que c'est de la bidouille, mais je te conseille de taper toi même à la main le retour à la ligne dans ton fichier pour ce coup là et après tu n'auras pas besoin du vbrclf

Guich
3
gandalflegris007 Messages postés 211 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 11 juin 2007
18 nov. 2004 à 10:07
Salut Quatrelator,

il y a des fonctions toutes faites sous VB pour écrire à la fin d'un fichier de type txt :

t'es en vb6 ou .NET ???

Guich
0
gandalflegris007 Messages postés 211 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 11 juin 2007
18 nov. 2004 à 10:19
en VB :

dim NumFichier as integer
dim NomFichier, LigneAEcrire as string

NumFichier = FreeFile
NomFichier = "c:\toto.txt"

Open NomFichier for append as NumFichier
LigneAEcrire = "Ce que tu veux écrire"
Print #NumFichier, LigneAEcrire
Close #NumFichier

et le tour est joué

Guich
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Quatrelator Messages postés 10 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 18 novembre 2004
18 nov. 2004 à 10:53
Bonjour,

Tout d'abord merci pour ta réponse mais j'ai toujours un problème.

J'utilise VB6

Le problème:
Le fichier texte:
sapgw96 3396/tcp
sapgw97 3397/tcp
sapgw98 3398/tcp
sapgw99 3399/tcp

Lorsque je passe ton script voici le résultat:
sapgw96 3396/tcp
sapgw97 3397/tcp
sapgw98 3398/tcp
sapgw99 3399/tcpCe que tu veux écrire

Ce que je souhaiterais:
sapgw96 3396/tcp
sapgw97 3397/tcp
sapgw98 3398/tcp
sapgw99 3399/tcp
Ce que tu veux écrire

En sachant que certain de mes fichiers textes on déja un retour à la ligne à la fin.

Merci d'avance
0
Quatrelator Messages postés 10 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 18 novembre 2004
18 nov. 2004 à 11:30
Ok merci beaucoup
0
Rejoignez-nous