Реализация протокола FTP в среде .NET не допускает этого в одной операции.
Вы должны указать удаленный каталог, отфильтровать файлы, которые хотите удалить, и удалить их по одному.
Если вы действительно хотите сделать это в одной операции, вы должны использовать 3rd библиотеку партии, которая поддерживает операции с масками файлов. Например WinSCP .NET assembly это позволяет с его Session.RemoveFiles
method:
Dim sessionOptions As New SessionOptions
With sessionOptions
.Protocol = Protocol.Ftp
.HostName = "ftp.example.com"
.UserName = "username"
.Password = "password"
End With
Using session As New Session
session.Open(sessionOptions)
session.RemoveFiles("/remote/path/pippo*").Check()
End Using
(я автор WinSCP)
Если вы не хотите использовать 3rd библиотеку партии, сделать, как было предложено выше :
Dim url As String = "ftp://ftp.example.com/remote/path/"
Dim credentials As NetworkCredential = New NetworkCredential("username", "password")
Dim listRequest As FtpWebRequest = WebRequest.Create(url)
listRequest.Method = WebRequestMethods.Ftp.ListDirectory
listRequest.Credentials = credentials
Using listResponse As FtpWebResponse = listRequest.GetResponse(),
listStream As Stream = listResponse.GetResponseStream(),
listReader As StreamReader = New StreamReader(listStream)
While Not listReader.EndOfStream
Dim filename As String = listReader.ReadLine()
If filename.StartsWith("pippo") Then
Dim deleteRequest As FtpWebRequest = WebRequest.Create(url + filename)
deleteRequest.Method = WebRequestMethods.Ftp.DeleteFile
deleteRequest.Credentials = credentials
deleteRequest.GetResponse()
End If
End While
End Using
I судимое решение с WinSCP, когда я БЮТ открыть connesion, я получаю эту errore: Ошибка соединения. Ошибка соединения. Все учетные данные верны. Я попытался подключиться к WinSCP.exe, и он отлично работает. Думаю, что проблема связана с протоколом передачи. У вас есть предложение? Спасибо! @MartinPrikryl –
Как вы связываетесь с 'winscp.exe'? Использование скриптов или графического интерфейса? Если скрипты, какую команду вы использовали? Если GUI, какой протокол вы выбрали? У вас может быть GUI WinSCP [генерировать шаблон кода для вас] (https://winscp.net/rus/docs/ui_generateurl#code). –