• Domingo 22 de Diciembre de 2024, 22:24

Autor Tema:  Re: Borrar carpetas del servidor  (Leído 2534 veces)

bea

  • Miembro activo
  • **
  • Mensajes: 51
    • Ver Perfil
Re: Borrar carpetas del servidor
« en: Lunes 1 de Septiembre de 2003, 11:53 »
0
Hola
Estoy utilizando el componente Inet de Visual Basic para hacer FTP pero no me borra carpetas del servidor. El codigo que utilizo es:

Public Function borraCarpeta(ByVal ruta As String, ByRef sError As String) As Boolean

On Error GoTo borraCarpetaError
borraCarpeta = False

gobjFTP.Execute , "RMDIR " & ruta
Call pWaitForResponse

borraCarpeta = True
Exit Function

borraCarpetaError:
End Function

Alguien sabe cual es el error?

Muchas gracias

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Borrar carpetas del servidor
« Respuesta #1 en: Lunes 1 de Septiembre de 2003, 13:31 »
0
¿Estará vacía la carpeta?
Mira a ver. Suerte.

acalanto

  • Miembro activo
  • **
  • Mensajes: 80
    • Ver Perfil
Re: Borrar carpetas del servidor
« Respuesta #2 en: Lunes 1 de Septiembre de 2003, 14:19 »
0
Me parece que si estás en FTP debes de enviar el comando DEL...

bea

  • Miembro activo
  • **
  • Mensajes: 51
    • Ver Perfil
Re: Borrar carpetas del servidor
« Respuesta #3 en: Lunes 1 de Septiembre de 2003, 14:31 »
0
La carpeta no esta vacia. Dentro tengo archivos y otras subcarpetas.

¿tiene que estar vacia la carpeta?

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Borrar carpetas del servidor
« Respuesta #4 en: Martes 2 de Septiembre de 2003, 08:02 »
0
Exacto. La carpeta no puede contener archivos ni otras carpetas (igual que con el 'RD' de D.O.S.).

Suerte.

bea

  • Miembro activo
  • **
  • Mensajes: 51
    • Ver Perfil
Re: Borrar carpetas del servidor
« Respuesta #5 en: Martes 2 de Septiembre de 2003, 08:15 »
0
Pues es que el problema es que exactamente no se lo que tengo en la carpeta que quiero crear, se que tengo archivos y subcarpetas pero no se como se llaman.
¿Puedo hacer algun tipo de bucle que me recorra lo que hay en la carpeta en el servidor?

Muchas gracias Brroz

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Borrar carpetas del servidor
« Respuesta #6 en: Martes 2 de Septiembre de 2003, 08:50 »
0
Podrías hacer algo de este estilo:

Private Sub BorrarFilesRtvDires(Byval ViaDeAcceso As String, Directorios() As String)

Dim strDir as String
strDir = Dir(ViaDeAcceso)
Dim lng1 As Long
Do Until strDir = ""
If (GetAttr(ViaDeAcceso & strDir) And vbDirectory) = vbDirectory Then
lng1 = lng1 + 1
ReDim Preserve Directorios(lng1)
Directorios(lng1) = strDir
Else
Kill ViaDeAcceso & strDir
End If
Dir
Loop

End Sub

Esta sub borraría los archivos del directorio que le especifiques y devolvería como elementos de la matriz 'Directorios' las carpetas que contenga (fíjate que es un argumento 'ByRef'
). Empleándolo recursivamente, podrías eliminar todos los archivos y carpetas. ¡Úsalo con tiento!

Suerte.

bea

  • Miembro activo
  • **
  • Mensajes: 51
    • Ver Perfil
Re: Borrar carpetas del servidor
« Respuesta #7 en: Martes 2 de Septiembre de 2003, 09:15 »
0
Pero esto me vale para el servidor?
Lo que quiero es recorrer una carpeta del servidor (que si que se donde esta) pero lo que no se es el nombre de los archivos y carpetas que tiene dentro, y esto es lo que quiero borrar

Vaya lio que tengo...:question:

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Borrar carpetas del servidor
« Respuesta #8 en: Martes 2 de Septiembre de 2003, 09:43 »
0
En tu ejemplo incluyes esta línea:

gobjFTP.Execute , "RMDIR " & ruta

La vía de acceso que debes especificar es 'ruta'.

A ver si ahora... Chao.

bea

  • Miembro activo
  • **
  • Mensajes: 51
    • Ver Perfil
Re: Borrar carpetas del servidor
« Respuesta #9 en: Martes 2 de Septiembre de 2003, 10:24 »
0
Que no me sale. Es que el procedimiento que me has dicho antes es para local no?

Por que para hacer lo de dir en el servidor haya que poner

Inet1.Execute , "DIR BuscaEsto.txt"

Por favor me lo podrias aclarar un poco mas. Muchas gracias y perdona:)

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Borrar carpetas del servidor
« Respuesta #10 en: Martes 2 de Septiembre de 2003, 10:52 »
0
Efectivamente, disculpas, tienes razón... se me olvidaba que estas utilizando un control iNet. La solución que te daba sería válida siempre que pudieras tener acceso a esa carpeta como recurso compartido, asignándola a una letra de unidad, o refiriéndose a la ruta directamente (ServidorRuta).

De otra forma, como muy bien indicas abría que utilizar el comando FTP 'dir' y/o los comandos 'ls' o 'mls' para mostrar el contenido de uno o varios directorios respectivamente.

Suerte.