Тема: VBS: Изменение условия скачивания
Привет. Для скачивания файлов иногда использую скрипт-CMD, запускающий wget и работающий в связке с scriptsplit.vbs. Программа скачивает список ссылок из файла lst.txt — в новый файл со случайным именем, по достижении квоты в 399мб — создавая и наполняя новый файл.
Файл "start.cmd"
"G:\_wget\wget.exe" --user-agent="Mozilla/5.0 (Windows NT 5.1; rv:26.0) Gecko/20100101 Firefox/26.0 SeaMonkey/2.23" --header="Accept-Language: ru-RU,ru;q=0.9,en;q=0.8" --wait=1 --rejected-log=_ERROR.LOG -i lst.txt -O- | cscript scriptsplit.vbs
Файл "scriptsplit.vbs"
SplitSize = 399 * 1024 * 1024
Set FSO = CreateObject("Scripting.FileSystemObject")
Set stdin = fso.GetStandardStream(0)
Count = 0
Set CurrFile = FSO.CreateTextFile("lst" & CStr(Year(Date())) & "-" & Right("0" & CStr(Month(Date())), 2) & "-" & Right("0" & CStr(Day(Date())), 2) & "_" & Replace(Time,":","-") & Count & ".htm",1)
Do Until stdin.AtEndOfStream
CurrFile.Write stdin.Read(1024)
Size = Size + 1024
If (Size => SplitSize) Then
Count = Count + 1
CurrFile.Close
Set CurrFile = FSO.CreateTextFile("lst" & CStr(Year(Date())) & "-" & Right("0" & CStr(Month(Date())), 2) & "-" & Right("0" & CStr(Day(Date())), 2) & "_" & Replace(Time,":","-") & Count & ".htm",1)
Size = 0 : Data = ""
End If
Loop
CurrFile.Close
Вопрос заключается в возможности изменения условия скачивания: чтобы новый файл создавался не в зависимости от размера файла, а в зависимости от прошедшего времени с момента его создания. То есть, чтобы запоминалось время, когда текущий наполняемый файл был создан — и если с момента его создания прошло больше трёх часов — создавался бы новый файл. Нужно это, потому что иначе HTML-файлы перед последующей обработкой приходится объединять, так как они разделяются в случайном месте, отчего иногда и кодировка файлов слетает.