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