读取 ftp 中的所有文件并将它们与访问数据库进行比较以丢弃我使用的文件

read all files in ftp and compare them to an access database to discard the files that i used

正如你在标题中看到的,回答这个问题可能有点困难,但我真的需要帮助

My.Computer.Network.DownloadFile("ftp://xxx.xxx.com/folder/subfolder/filename.txt", "C:\Users\User\Desktop\base\Folder\filename.txt", "user", "password")

这就是我从 ftp 服务器下载文件的方式,但我意识到我所做的是错误的,因为文件名每 10 分钟更改一次,这就是为什么我需要将文件名保存到访问中稍后进行比较并丢弃在我的访问中检查的文件 table

我不知道如何从 ftp 服务器保存文件名以用作变量或读取 ftp 服务器中的所有文件名当然我不想要所有的解决方案,但一个良好的开端或建议将是伟大的!

我能找到的唯一方法就是这个我希望它能对某人有所帮助

基本上我所做的是制作一个列表目录,然后将信息传递到列表框中,然后 select 最后一项保存文件名最后我用作下载过程的变量这不是最好的解决方案,但它非常符合我的需求

Dim Dirlist As New List(Of String) 
    Dim request As FtpWebRequest = DirectCast(WebRequest.Create("ftp://server/folder/subfolder"), FtpWebRequest)
    Dim response = DirectCast(request.GetResponse(), FtpWebResponse)
    Dim responseStream As Stream = response.GetResponseStream
    request.Method = WebRequestMethods.Ftp.ListDirectory
    request.Credentials = New NetworkCredential("user", "pass")
    Using reader As New StreamReader(responseStream)
        Do While reader.Peek <> -1
            ListBox1.Items.Add(reader.ReadLine)
        Loop
        If ListBox1.Items.Count > 0 Then
            ListBox1.SelectedIndex = ListBox1.Items.Count - 1
        End If
    End Using
    Dim varia1 As String
    varia1 = ListBox1.SelectedItem.ToString
    Dim varia2 As String = "C:\localpath\"folder\subfolder
    Dim ftp1 As String = "ftp://server/folder/subfolder"
    Dim varia3 As String = varia2 + varia1
    Dim varia4 As String = ftp1 + varia1
    response.Close()
    My.Computer.Network.DownloadFile(varia3, varia4, "user", "pass")