REM ***************************************************** REM * Name : replace_block_of_text.vbs REM * Description : remplacer n'importe quoi dans un fichier texte, y compris des sauts de ligne REM * Date : 2008-11-22 REM * Version : 1.00 REM * Author : X. GANGAND REM ***************************************************** Option Explicit Dim oFSO Set oFSO = CreateObject("Scripting.FileSystemObject") If Wscript.Arguments.Count <> 4 Then Syntax Wscript.Quit(0) End If Main Sub Main Dim f, sSourceFile, sDestFile, sSearch, sReplace, sText1, sText2 sSourceFile = Wscript.Arguments(0) sDestFile = Wscript.Arguments(1) sSearch = FileReadAll(Wscript.Arguments(2)) sReplace = FileReadAll(Wscript.Arguments(3)) Set f = oFSO.OpenTextFile(sSourceFile) sText1 = FileReadAll(sSourceFile) sText2 = Replace(sText1, sSearch, sReplace) SaveToFile sText2, sDestFile Wscript.Echo _ "Texte avant : " & Len(sText1) & " car., " & _ " texte après : " & Len(sText2) & " car. (résultat dans " & sDestFile & ")." End Sub Sub Syntax Rem ************************************ Rem Syntaxe Rem ************************************ Wscript.Echo "Syntax :" & vbcrlf & _ "cscript //nologo replace_block_of_text.vbs fichier_source fichier_dest fichier_chaine_a_chercher fichier_chaine_a_inserer" & vbcrlf & _ "" & vbcrlf & _ "" & vbcrlf & _ " - fichier_source : fichier qui contient le texte original" & vbcrlf & _ " - fichier_dest : fichier résultat" & vbcrlf & _ " - fichier_chaine_a_chercher : tout le texte TEXT1 à remplacer (sauts de ligne autorisés)" & vbcrlf & _ " - fichier_chaine_a_inserer : tout letexte qui remplacera TEXT1" & vbcrlf & _ "" End Sub Function FileReadAll(sFile) Dim f Set f = oFSO.OpenTextFile(sFile) FileReadAll = f.ReadAll f.Close End Function Sub SaveToFile(sText, sFile) Dim f Set f = oFSO.CreateTextFile(sFile) f.Write sText f.Close End Sub