Airia2: сохранить загруженные файлы в sqlite дополнительно к уникальному идентификатору
Я использую aria2 для загрузки нескольких файлов, и теперь моя проблема заключается в том, что я должен постобработать файлы в приложении VBA. До сих пор логика постобработки уже была написана на VBA, поэтому я ищу решение для чтения URL-адресов не только из списка (экспортированного VBA), а не из CSV-файла, чтобы хранить их, используя уникальный идентификатор. В противном случае я не смогу найти загруженные файлы в случае конфликта имен. Кроме того, содержимое должно храниться в базе данных sqlite для увеличения скорости обработки. Я говорю о тысячах файлов с общим размером в несколько ГБ, поэтому скорость моего приложения VBA страдает от дискового ввода-вывода.
Есть ли решение для моей проблемы?
В настоящее время я подхожу к этой проблеме, используя скрипт-оболочку golang, который читает файл csv и порождает несколько экземпляров aria2, используя параметр --out для управления именованием выходного файла.
Образец кода:
Экспорт CSV
path = ThisWorkbook.path & "\" & dataFile
If FileHandler.FileExists(path) Then
FileHandler.DeleteFile (path)
End If
FileHandler.CreateFile (path)
fileHandle = FreeFile
Open path For Append As #fileHandle
For WksIndex = 3 To 37
If SettingGet("Enable", WksIndex) Then ' check if worksheets should be processed
For Row = 1 To Worksheets(WksIndex).Cells(9999, 1).End(xlUp).Row
If Worksheets(WksIndex).Cells(Row, 1).value <> "" And Worksheets(WksIndex).Cells(Row, 3).value <> "" Then
Call FileHandler.AppendToFile( _
path, _
Worksheets(WksIndex).Cells(Row, 1).value & ";" & _
Worksheets(WksIndex).Cells(Row, 3).value, _
fileHandle _
) ' append ID;URL to file
End If
Next Row
End If
Next WksIndex
Close #fileHandle