Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/01/2009, 08:27
Streamz
 
Fecha de Ingreso: enero-2009
Mensajes: 20
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta Detectar si un archivo existe en un FTP

Buenas.

Tengo el siguiente problema, con mi cliente FTP, si subes un archivo, el cual ya existe en la carpeta remota del FTP, lo sobrescribira sin preguntar. Lo que yo necesito es que si ya existe el archivo que vamos a subir, no deje subirlo.

Esto iria en el "button" de comenzar a subir pero no se ni como ni donde añadirlo:

Cita:
Private Sub comenzarboton_Click()
Dim lTimer As Long
Dim strRemote As String
Dim strLocal As String
Dim Y As String
If ListView3.ListItems.Count = 0 Then
MsgBox "No hay archivos en la lista de tareas."
Exit Sub
End If

Do Until ListView3.ListItems.Count = 0
Label14.Visible = True
frmmain.mFTP.SetModePassive
DoEvents
DoEvents
frmmain.mFTP.SetTransferBinary
DoEvents
DoEvents
DoEvents
BeginTransfer = Timer
Timer2.Enabled = True
DoEvents

Label7.Caption = " " & ListView3.SelectedItem.Text
DoEvents
Y = TxtRemotePath.Text
DoEvents
DoEvents
If Y = ListView3.SelectedItem.SubItems(2) Then

Else
mFTP.SetFTPDirectory ListView3.SelectedItem.SubItems(2)
DoEvents
DoEvents
RefreshDirectoryListing
DoEvents
DoEvents
End If
DoEvents
DoEvents
DoEvents
DoEvents

If ListView3.SelectedItem.SubItems(5) = "Descargar" Then
strRemote = ListView3.SelectedItem.Text
strLocal = ListView3.SelectedItem.SubItems(1) & "\" & ListView3.SelectedItem.Text

If mFTP.FTPDownloadFile(strLocal, strRemote) Then

Else
MsgBox mFTP.GetLastErrorMessage & "No se ha completado el proceso."
Label14.Visible = False
serpiente.Visible = False
ListView2.Visible = True
Exit Sub
End If
DoEvents
DoEvents
End If

If ListView3.SelectedItem.SubItems(5) = "Subir" Then
strRemote = ListView3.SelectedItem.Text
strLocal = ListView3.SelectedItem.SubItems(1)

If mFTP.FTPUploadFile(strLocal, strRemote) Then

Else
MsgBox mFTP.GetLastErrorMessage & "No se ha completado el proceso."
Label14.Visible = False
serpiente.Visible = False
ListView2.Visible = True
Exit Sub
End If
DoEvents
DoEvents
End If
TxtTotalBytesQueued.Text = TxtTotalBytesQueued.Text - ListView3.SelectedItem.SubItems(4)
DoEvents
DoEvents
ListView3.ListItems.Remove 1
DoEvents
Loop
RefreshDirectoryListing
Timer2.Enabled = False
Label10.Caption = "Tiempo Transcurrido: 00:00:00"
Text1.Text = "0"
DoEvents
RefreshDirectoryListing

End Sub
------

Saludos y gracias