Airia2:将下载的文件另外保存到sqlite以获得唯一标识符

时间:2017-08-27 10:34:22

标签: vba excel-vba sqlite aria2 excel

我使用aria2下载了一堆文件,我现在的问题是我必须在VBA应用程序中对文件进行后处理。到目前为止,后处理逻辑已经在VBA中编写,因此我正在寻找一种解决方案,不仅从列表(由VBA导出)而不是csv文件中读取URL,以使用唯一标识符来存储它们。否则,我无法在名称冲突的情况下找到下载的文件。除此之外,内容应存储在sqlite数据库中以提高处理速度。我正在谈论数千个总大小为多GB的文件,因此我的VBA应用程序的速度受到磁盘的影响。

我的问题有解决方案吗?

目前,我使用golang包装器脚本来解决问题,该脚本读取csv文件并使用--out参数生成一堆aria2实例来控制输出文件命名。

示例代码:

导出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

0 个答案:

没有答案