TCPIP
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Немного подредактированный сценарий ведения лога закачек: Код: index = EventObject.Parameter PID_dCreationTime=212 PID_dLastStartTime=213 if (index<>-1) then set dl = EventObject.App.Download(index) 'creating the 'dl' object filestr=dl.Filename 'executing Filename method to get NOT filename alone (i.g. filename.ext) but the full path to file '(that means we get a string like D:\My Downloads\Program name\filename.ext) filepath=left(filestr, instrrev(filestr,"\") ) ' Getting the path to file (D:\My Downloads\Program name\ in this example) 'based on filestr value set fso = CreateObject("Scripting.FileSystemObject") 'creating a filesystem object If (fso.FileExists("URL.txt")) Then 'checking whether the log file URL.txt exist Const ForAppending = 8 'setting the constant to get the file opened for appending so that the next added content will 'be written after the existing information wich remains unchanged set a = fso.OpenTextFile(filepath+"URL.txt", ForAppending, True) 'opening file URL.txt in 'append' mode a.WriteBlankLines 2 'adding two blank lines to separate existing information from that that will be added for i=1 to len(filestr) a.Write "/" Next a.WriteBlankLines 2 Else ' if file URL.txt not exist (it could be so if there were no file downloaded previously in this folder) set a = fso.CreateTextFile(filepath+"URL.txt", true) ' URL.txt does'nt exist: let's create it end if FileFill() 'calling the FileFill procedure end if 'This procedure fills out the URL.txt file with download entry specific information Sub FileFill() a.WriteLine "URL: "+dl("Url") a.WriteLine "Username: "+dl("Username") a.WriteLine "Password: "+dl("Password") a.WriteLine "Referer: "+dl("Referer") a.WriteLine "" a.WriteLine "Size: " & dl.Size a.WriteLine "" a.WriteLine "Created: " & dl.Date(PID_dCreationTime) a.WriteLine "Started: " & dl.Date(PID_dLastStartTime) a.WriteLine "Finished: " & Now a.WriteLine "" a.WriteLine "Info: "+dl("Info") a.Close End Sub | Основной смысл --- в том, чтобы в папке с закачкой создавался один файл URL.txt (а не как в оригинале, когда создается столько файлов, сколько закачек, да еще каждый файл имеет имя, равное имени скаченного файла). В случае, если в папку загружается несколько файлов, информация тупо добавляется в конец файла. Пока все тупо, но может кого, как меня заинтересует возможность иметь 1 файл со всей информацией, вместо нескольких. Что хотелось бы добавить: хотелось бы отделить совсем уж специфическую информацию (вроде времен начала и завершения закачки) от полезной информации: URL, Referrer, Info. Кроме того, совершенно очевидно, что писать Referrer и Info в тех случаях, когда информация по ним отсутствует, абсолютно не нужно. Какой смысл, от двух пустых строк? Точно так же, нет нужды писать Referrer, если он совпадает с URL. Ну и самый большой грех, конечно же связан с тупым добавлением информации о последующих закачках в конец файла --- такой дублеж совершенно лишен смысла. Идеально было бы создавать строку URL, которая бы генерилась на основе информации о первом и последнем файле. То есть, если качаются многотомные архивы filename01.zip,..., filename0x.zip, то имеет смысл записывать только 1 URL, который бы описывал все URL сразу, то есть писать из в виде: URL: protocol://machine.server.domain/filename{01..0x}.zip Быть может, найдется тот, кто сможет отредактировать этот сценарий, добавив в него указанную функциональность? | Всего записей: 4667 | Зарегистр. 31-01-2003 | Отправлено: 02:11 27-10-2004 | Исправлено: TCPIP, 02:41 27-10-2004 |
|