Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Modification fichier TXT en vbs

2 réponses
Avatar
Shrine
Bonjour,

Je dois modifier un fichier tnsnames.ora. Dans un premier temps je
dois retrouver une chaine de caract=E8res, ex : instance1 =3D, puis
supprimer les 191 lignes qui suivent. et enfin ajouter en fin de
fichier les nouvelles instances.Pour l'ajout je n'ai pas de probl=E8mes.

Je bloque quant =E0 la facon de faire la suppression des 192 lignes.

Merci pour votre aide.

2 réponses

Avatar
Youri Ligotmi
Shrine a écrit :
Bonjour,

Je dois modifier un fichier tnsnames.ora. Dans un premier temps je
dois retrouver une chaine de caractères, ex : instance1 =, puis
supprimer les 191 lignes qui suivent. et enfin ajouter en fin de
fichier les nouvelles instances.Pour l'ajout je n'ai pas de problèmes.

Je bloque quant à la facon de faire la suppression des 192 lignes.

Merci pour votre aide.



A mon sens le plus simple est de lire le fichier ligne à ligne et
d'écrire chacune d'elles dans un fichier temporaire jusqu'à trouver la
chaîne recherchée puis d'ajouter au fichier temporaire les lignes
prévues, ensuite on supprime le fichier d'origine et on renomme le
fichier temporaire en tnsnames.ora
HTH
YL
Avatar
Th.A.C
Le 16/08/2010 11:37, Shrine a écrit :
Bonjour,

Je dois modifier un fichier tnsnames.ora. Dans un premier temps je
dois retrouver une chaine de caractères, ex : instance1 =, puis
supprimer les 191 lignes qui suivent. et enfin ajouter en fin de
fichier les nouvelles instances.Pour l'ajout je n'ai pas de problèmes.

Je bloque quant à la facon de faire la suppression des 192 lignes.

Merci pour votre aide.



je dirai de lire le fichier et de le placer dans un tableau de chaines
de caractères:
DIM Fichier, BlocFichier
SET Fichier = Fso.OpenTextFile(sNomFichier,1)
BlocFichier = Fichier.ReadAll ' Lit le fichier d'un bloc
Fichier.Close


Puis renommer le fichier en tnsnames.ora.original (par exemple)


Faire la recherche en mémoire pour trouver 'instance1' et noter l'index
de du tableau de chaine.


Ecrire le nouveau fichier tnsnames.ora grace à l'index trouvé juste
avant puis rajouter les lignes manquantes.

Notes:
- je ne sais pas s'il existe l'équivalent de ReadAll pour write
- on peut tronquer le tableau (pour supprimer les lignes en trop) avec
redim preserve(x)
(il faut peut-être mettre le tableau à une taille fixe avant)