Что нового

Автоматическое копирование файла при его изменении

Dk

Новичок
Сообщения
358
Репутация
2
Описание:
Здравствуйте.

Есть программа она считывает определённую информацию с интернета и записывает в один файл "ENDE.txt.old". Это происходит каждый час. К сожалению файл каждый раз перезаписывается и у меня нет "полной истории".
Мне нужно что бы скрипт копировал этот файл при каждом обновлении в отдельную папку "history", которая будет находится в одной папке с Аутоитскриптом и называл к примеру эти файы 1ENDE.txt.old, 2ENDE.txt.old, 3ENDE.txt.old итд.

Примечание:

Очень важно, что бы когда я отключил скрипт и потом заново включил он продолжил записывать файл с последующим номерoм.
Например было "3ENDE.txt.old", следующий (после нового запуска скрипта был 4ENDE.txt.old). Скрипт должен сам определять, какие файлы имеются в этой папке "history" уже и "давать номера" к названию файла дальше.
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Код:
#Include <FileOperations.au3>

$file_path = @ScriptDir & '\ENDE.txt.old'
$dest_path = @ScriptDir & '\1\'
$double = _FO_GetCopyName($dest_path & 'ENDE.txt.old',1)
FileCopy($file_path,$double)
$cont = DllStructCreate('wchar[128]')
$ret_one = FileGetTime($file_path,0,1)
DllStructSetData($cont,1,$ret_one)

While 1
	$ret = FileGetTime($file_path,0,1)
	If $ret <> DllStructGetData($cont,1) Then
		$double_next = _FO_GetCopyName($dest_path & 'ENDE.txt.old',1)
		FileCopy($file_path,$double_next)
		DllStructSetData($cont,1,'')
		DllStructSetData($cont,1,$ret)
	EndIf
	Sleep(100)
WEnd
 
Верх