Что нового

Как один текстовый файл дописать в другой.

Автор
P

papa

Новичок
Сообщения
19
Репутация
0
В скрипте почему-то не работает.
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
Попробуй на чистом AutoIt :

Код:
;FileConsatenate($sFile1, $sFile2, $sFile3);Запись в 3-ий файл
FileConsatenate($sFile1, $sFile2);Запись в 1-ий файл


Func FileConsatenate($sFile1, $sFile2, $sResultFile='')
	If $sResultFile Then
		$hFile1 = FileOpen($sFile1, 16)
		If $hFile1 = -1 Then
			MsgBox(0, "Ошибка", "Невозможно открыть Файл1 для чтения.")
			Return SetError(1, 0, 0)
		EndIf
		$hRetFile= FileOpen($sResultFile, 2)
		If  $hRetFile = -1 Then
			MsgBox(0, "Ошибка", "Невозможно открыть Результирующий Файл для записи.")
			Return SetError(2, 0, 0)
		EndIf
	Else  
		$hRetFile= FileOpen($sFile1, 1)
		If  $hRetFile = -1 Then
			MsgBox(0, "Ошибка", "Невозможно открыть Файл1 для записи.")
			Return SetError(3, 0, 0)
		EndIf
	EndIf  
	$hFile2 = FileOpen($sFile2, 16)
	If  $hFile2 = -1 Then
		MsgBox(0, "Ошибка", "Невозможно открыть Файл2 для чтения.")
		Return SetError(3, 0, 0)
	EndIf
	
	If $sResultFile Then
		While 1
			$chars = FileRead($hFile1, 1024)
			If @error = -1 Then ExitLoop
			FileWrite($hRetFile ,  $chars)
		WEnd
		FileClose($hFile1)
	EndIf
	
	While 1
		$chars = FileRead($hFile2, 1024)
		If @error = -1 Then ExitLoop
		FileWrite($hRetFile,  $chars)
	Wend
	FileClose($hFile2)
	FileClose($hRetFile)
	ConsoleWrite ("End" & @LF)	
	Return 1
EndFunc

Пользуюсь для объединения длинных видеофайлов
 
Автор
P

papa

Новичок
Сообщения
19
Репутация
0
Наверно это правильный код, но мне нужно было срочно решить проблему. Мне больше понравился вариант Kaster. Всем спасибо за участие. Надо бы заняться Autoit по плотнее, отличная вещь. :IL_AutoIt_1:
 
Верх