Voici le script terminé. Merci pour votre aide
► Afficher le texte
#Include <File.au3>
Global $repertoire =@ScriptDir&"\test"
vincentr($repertoire)
Func vincentr($PathFolder,$sFilter="*.bat")
Local $array=_FileListToArray(@ScriptDir&"\test",$sFilter,1)
If $array=0 Then
MsgBox(64,"erreur","erreur path dossier")
Else
If $array[0] > 0 Then
Local $file,$strTmp
For $i=1 To $array[0]
$file=FileOpen($repertoire&"\"&$array[$i],0)
If $file=-1 Then
MsgBox(64,"erreur","erreur ouverture fichier 1")
Else
$strTmp=FileRead($file)
FileClose($file)
$file=FileOpen($repertoire&"\"&$array[$i],2)
If $file=-1 Then
MsgBox(64,"erreur","erreur ouverture fichier 2")
Else
$CRLF = StringReplace(_ReplaceAndAddString($strTmp), @CR, @CRLF)
FileWrite($file,StringReplace($CRLF, @LF, @CRLF))
FileClose($file)
EndIf
EndIf
Next
EndIf
EndIf
EndFunc
Func _ReplaceAndAddString($string="",$replaceString="serveur2",$addString=": /delete")
If $string <> "" And StringInStr($string,"serveur2") <>0 Then
Local $str=StringSplit($string,@LF,0)
$tmp=""
For $i=1 To $str[0]
If StringInStr($str[$i],"serveur2") <> 0 Then
$tmp&=_StringBetween2String($str[$i],"",":")&$addString&@CRLF
$tmp&=StringReplace($str[$i],$replaceString,"serveur1")
Else
$tmp&=$str[$i]
EndIf
Next
Return $tmp
Else
Return $string
EndIf
EndFunc
Func _StringBetween2String($String, $StringDebut, $StringFin, $caseSense = False)
If ((IsString($String) And IsString($StringDebut) And IsString($StringFin)) And IsBool($caseSense)) Then
Local $case = 0
If $caseSense Then
$case = 1
EndIf
If $StringDebut = "" Then
Return StringMid($String, 1, (StringInStr($String, $StringFin, $case, 1)) - 1)
ElseIf $StringFin = "" Then
Return StringMid($String, (StringInStr($String, $StringDebut, $case)) + StringLen($StringDebut))
Else
Local $debut = StringInStr($String, $StringDebut, $case)
If @error = 0 Then
Local $fin = StringInStr($String, $StringFin, $case, 1, $debut)
If $fin <> $debut Then
Local $realDebut = $debut + StringLen($StringDebut)
Return StringMid($String, $realDebut, $fin - $realDebut)
EndIf
EndIf
EndIf
EndIf
SetError(1);erreur parametre
Return ""
EndFunc ;==>_StringBetween2String