je viens vers vous car je souhaite par un script en VBS lire un fichier quelconque et verifier l'existence de plusieurs chaines de caracteres, et quand cette chaine de caracteres existe, le but est de supprimer la ligne en question.
ce script en est un exemple, mais je ne peux que supprimer une seule ligne avec une seule chaine de caractere a la fois. comment puis-je faire pour mettre plusieurs chaines de caracteres et supprimer toutes les lignes s'y rapportant?
' Delete Lines of a Text File Beginning with a Specified String
Const ForWriting = 2
strFileName = "chemin du fichier"
strCheck1 = "variable à supprimer"
strCheck2 = "variable à supprimer"
strCheck3 = "variable à supprimer"
strCheck4 = "variable à supprimer"
strCheck5 = "variable à supprimer"
dim all 'variable qui va contenir le nouveau contenu du fichier
all = ""
'lire un fichier ligne par ligne
Set test = CreateObject("Scripting.FileSystemObject")
Set vbfrance = test.OpenTextFile(strFileName)
Do While Not vbfrance.AtEndOfStream
ligne = vbfrance.Readline
if (instr (ligne , strCheck1)) <= 0 then
all = all & ligne & vbcrlf
elseif (instr (ligne , strCheck2)) <= 0 then
all = all & ligne & vbcrlf
elseif (instr (ligne , strCheck3)) <= 0 then
all = all & ligne & vbcrlf
elseif (instr (ligne , strCheck4)) <= 0 then
all = all & ligne & vbcrlf
elseif (instr (ligne , strCheck5)) <= 0 then
all = all & ligne & vbcrlf
end if
Loop
'on ferme le fichier
vbfrance.close
'on enregistre notre nouveau contenu sans les lignes supprimer
Set test2 = CreateObject("Scripting.FileSystemObject")
Set vbfrance2 = test2.OpenTextFile(strFileName, ForWriting,true)
vbfrance2.write(all)
vbfrance2.close
tu peut choisir une infinité de variable
Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie (mon site)
Bonsoir,
Je viens de tester le scripot que vous vez posté en remplacant toutes les variables par les miennes et il ne se passe rien. le script se lance et ne s'arrete jamais. y a t-il une erreur dans ce que j'ai entré ? je souhaite egalement enlever toutes les lignes blanches (vides) en entrant la variable "".
Const ForReading = 1
Const ForWriting = 2
strFileName = "C:\scripts\PORTABLE_HUBERT-WINAUDIT.txt"
strCheck1 = "-------------"
strCheck2 = "Résumé du Système"
strCheck3 = "| Item"
strCheck4 = "| Site Name"
strCheck5 = ""
dim all 'variable qui va contenir le nouveau contenu du fichier
all = ""
'lire un fichier ligne par ligne
Set test = CreateObject("Scripting.FileSystemObject")
Set vbfrance = test.OpenTextFile(strFileName)
Do While Not vbfrance.AtEndOfStream
ligne = vbfrance.Readline
if (instr (ligne , strCheck1)) <= 0 then
all = all & ligne & vbcrlf
elseif (instr (ligne , strCheck2)) <= 0 then
all = all & ligne & vbcrlf
elseif (instr (ligne , strCheck3)) <= 0 then
all = all & ligne & vbcrlf
elseif (instr (ligne , strCheck4)) <= 0 then
all = all & ligne & vbcrlf
elseif (instr (ligne , strCheck5)) <= 0 then
all = all & ligne & vbcrlf
end if
Loop
'on ferme le fichier
vbfrance.close
'on enregistre notre nouveau contenu sans les lignes supprimer
Set test2 = CreateObject("Scripting.FileSystemObject")
Set vbfrance2 = test2.OpenTextFile(strFileName, ForWriting,true)
vbfrance2.write(all)
vbfrance2.close
Do While Not vbfrance.AtEndOfStream
ligne = vbfrance.Readline
if (instr (ligne , strCheck1)) <= 0 and _
(instr (ligne , strCheck2)) <= 0 and _
(instr (ligne , strCheck3)) <= 0 and _
(instr (ligne , strCheck4)) <= 0 and _
(instr (ligne , strCheck5)) <= 0 then
all = all & ligne & vbcrlf
end if
Loop
Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie (mon site)
Do While Not vbfrance.AtEndOfStream
ligne = vbfrance.Readline
if (instr (ligne , strCheck1)) <= 0 and _
(instr (ligne , strCheck2)) <= 0 and _
(instr (ligne , strCheck3)) <= 0 and _
(instr (ligne , strCheck4)) <= 0 and _
(instr (ligne , strCheck5)) <= 0 and _
ligne <> "" then
all = all & ligne & vbcrlf
end if
Loop
Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie (mon site)
dim all 'variable qui va contenir le nouveau contenu du fichier
all = ""
'lire un fichier ligne par ligne
Set test = CreateObject("Scripting.FileSystemObject")
Set vbfrance = test.OpenTextFile(strFileName, FOR_READING)
Do While Not vbfrance.AtEndOfStream
ligne = vbfrance.Readline
if (instr (ligne , strCheck1)) <= 0 and _
(instr (ligne , strCheck2)) <= 0 and _
(instr (ligne , strCheck3)) <= 0 and _
(instr (ligne , strCheck4)) <= 0 and _
(instr (ligne , strCheck5)) <= 0 and _
(instr (ligne , strCheck6)) <= 0 and _
ligne <> "" then
all = all & ligne & vbcrlf
end if
Loop
'on ferme le fichier
vbfrance.Close
'on enregistre notre nouveau contenu sans les lignes supprimees
Set test2 = CreateObject("Scripting.FileSystemObject")
Set vbfrance2 = test2.OpenTextFile(strFileName, FOR_WRITING,true)
vbfrance2.write(all)
vbfrance2.close