Boujour,

J'ai besoin de supprimer une ligne dans un fichier texte, pour se faire j'ai créé un script VBS et j'utilise la fonction de remplacement.

Seulement voila dans la ligne que je veux supprimer il y a plusieurs caractères backslash "\" et c'est la que j'ai un problème.

En gros voici le fichier de départ:

tata\tata
tutu_tutu
toto\toto
Je voudrais supprimer la ligne toto\toto (ou autre), pour ce faire j'utilise ce script:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Set fso = CreateObject("Scripting.FileSystemObject") 
Set oRegEx = New RegExp 
oRegEx.Global = true 
oRegEx.Pattern = "toto\toto" 
Set monFichier = fso.OpenTextFile(list,1) 
sStream = monFichier.ReadAll 
monFichier.Close 
sNewStream = oRegEx.Replace(sStream,"") 
if InStr(sNewStream,vbLf)=1 Then sNewStream = Replace(sNewStream,"",1,1) 
Set monFichier = fso.OpenTextFile(list,2) 
monFichier.Write sNewStream 
monFichier.Close
Mais cela ne fonctionne pas, pourtant quand je demande de supprimer juste "toto" ça fonctionne bien.


Alors je pense avoir trouvé un début de réponse, et écrivant ceci:

oRegEx.Pattern = "toto"+"\\"+"toto"

seulement voila en écrivant directement le code ça fonctionne, mais si je place ce code dans un fichier txt (par exemple code.txt) et que je demande de lire ce fichier dans mon code pour l'incruster dans le pattern, ça ne fonctionne pas.

Voici ce que je mets:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
Set f = Fso.OpenTextFile("code.txt", 1, false) 
test = f.ReadLine 
Set fso = CreateObject("Scripting.FileSystemObject") 
Set oRegEx = New RegExp 
oRegEx.Global = true 
oRegEx.Pattern = test 
Set monFichier = fso.OpenTextFile(fichier_a_modifier.txt,1) 
sStream = monFichier.ReadAll 
monFichier.Close 
sNewStream = oRegEx.Replace(sStream,"") 
if InStr(sNewStream,vbLf)=1 Then sNewStream = Replace(sNewStream,"",1,1) 
Set monFichier = fso.OpenTextFile(list,2) 
monFichier.Write sNewStream 
monFichier.Close
J'ai essayé plusieurs choses dans le fichier code.txt mais sans résultat.
J'ai essayé tout ça:

"toto"+"\\"+"toto"
toto"+"\\"+"toto
"toto"+"\"+"toto"
toto"+"\"+"toto
"toto\toto"
toto\toto
pourtant quand je marque juste toto dans le fichier code.txt, ça m'éfface bien les noms toto dans le fichier_a_modifier.txt (mais il reste tjrs le backslash), cela prouve bien que la fonction fonctionne mais pas avec le backslash.

Une idée ????