ZeroCrash, вариант для "правильных" файлов (все строки заканчиваются на CRLF)
Код:
#Include <File.au3>
$sFrom = "chcp 1251"
$sTo = "echo ------------------------------------------->>%randomValue%.txt" &@CRLF& _
"echo ------------------------------------------->>%randomValue%.txt" &@CRLF& _
"echo ------------------------------------------->>%randomValue%.txt"
$FileList = _FileListToArray(@ScriptDir, "*.cmd", 1) ; создаём массив со списком всех bat файлов.
For $i=1 to $FileList[0] ; крутим цикл, столько раз, сколько у нас файлов
$r = _FileLinesReplace(@ScriptDir&"\"& $FileList[$i], $sFrom, $sTo)
ConsoleWrite("Обработан файл: "& $FileList[$i] &" произведено замен: "& $r &@CRLF)
Next
; -----------------------------------------
; Пользовательская функция (UDF)
; Замена в файле $sFile строки
; с текстом $sFrom на строку/строки $sTo
; -----------------------------------------
Func _FileLinesReplace($sFile, $sFrom, $sTo)
Local $sText, $hFile, $iRepl
$sFrom = @CRLF& $sFrom
$sTo = @CRLF& $sTo
$sText = @CRLF& FileRead($sFile)
$hFile = FileOpen (@ScriptDir&"\"&$FileList[$i], 2)
$sText = StringReplace($sText, $sFrom, $sTo)
$iRepl = @extended
$sText = StringTrimLeft($sText, 2)
FileWrite ($hFile, $sText)
FileClose ($hFile)
Return $iRepl
EndFunc ; ==> _FileLinesReplace