Sub RenameFileName(ByVal dir_actual As String, ByVal agente As String, ByVal archivos As ArrayList)
Dim currentFilename As String = ""
Dim newFilename As String = ""
Dim reqFTP As FtpWebRequest = Nothing
Dim ftpStream As Stream = Nothing
For i As Integer = 0 To archivos.Count - 1
currentFilename = "ftp://direccion-del-servidor-ftp/" & agente.Trim & "/" & dir_actual & "/" & archivos(i).ToString.Trim
newFilename = "../directorio-destino/" & dir_actual & "/" & archivos(i).ToString.Trim
Try
reqFTP = DirectCast(FtpWebRequest.Create(New Uri(currentFilename)), FtpWebRequest)
reqFTP.Method = WebRequestMethods.Ftp.Rename
reqFTP.RenameTo = newFilename
reqFTP.UseBinary = True
reqFTP.KeepAlive = False
reqFTP.Credentials = New NetworkCredential("usuario-ftp", "password-ftp")
reqFTP.Proxy = Nothing
Dim response As FtpWebResponse = DirectCast(reqFTP.GetResponse(), FtpWebResponse)
ftpStream = response.GetResponseStream()
ftpStream.Close()
response.Close()
Catch ex As Exception
If ftpStream IsNot Nothing Then
ftpStream.Close()
ftpStream.Dispose()
End If
Throw New Exception(ex.Message.ToString())
End Try
Next
End Sub