FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Comprobar si existe un directorio en una conexión FTP
Buenos días,
El programa que estoy haciendo se conecta a un ftp mediante un TidFTP. Una vez establecida la conexión necesitaría saber i/o comprobar si existe un directorio, y sino es el caso crearlo. La forma de crearlo ya la tengo se hace con: IdFTP1.MakeDir(URL_DESTINO); Para posteriormente subir ficheros con: IdFTP1.Put(Ori, Dest); Pero como digo anteriormente, como puedo comprobar si existe el directorio? PD: He intentado buscarlo por el foro, pero no hay mucho temas de FTP, o por lo menos no lo he encontrado, ya que la palabra FTP no te la deja poner en el sistema de búsqueda por ser inferior a 4 carácteres. Un saludo, Felicitaciones por el foro, me es de gran ayuda. |
#2
|
||||
|
||||
Hola,
No tengo experiencia usando el componente, pero, he podido ahora comprobar que puedes obtener una lista de los directorios y archivos en una variable de tipo "TStrings". Como no he visto ningún comando FTP que permita comprobar si un directorio existe (puede que simplemente no halla podido yo dar con el mismo, que conste) podrías, simplemente, obtener la lista de directorios y archivos, y luego comprobar si en esta lista se encuentra el directorio que pretendes crear, en caso de no existir. Podría ser una solución, ¿no te parece? Cita:
En todo caso sé bienvenido al ClubDelphi. Por favor, revisa la guía de estilo de estos foros, pues, seguramente te será útil. |
#3
|
|||
|
|||
Merci, por la aclaración a la hora de buscar por el foro.
Sobre lo del FTP, mas o menos he pensado lo mismo que tu, al no ver el método que lo hiciera estaba intentando hacerlo como tu bien dices. No obstante, si alguien sabe como hacerlo directamente, que no dude en exponerlo en el foro. Un saludo, Y muchas gracias por todo. |
#4
|
||||
|
||||
Hola,
He estado mirando en algún que otro sitio y no consigo dar con un comando FTP que nos ayude en el asunto que nos ocupa. Lo que se me ocurre ahora lo siguiente: enviar un comando FTP con el fin de cambiarnos a un determinado directorio, el cual, de no existir, generará un mensaje de error. Es decir, hacer algo como lo siguiente, una vez conectados al servidor FTP: Luego de la anterior instrucción podríamos consultar la propiedad "LastCmdResult" del "TIdFTP", la cual nos ofrece desde el código de respuesta del servidor ("550" en caso de que no exista el directorio) hasta el texto del mismo, que sería: "[nombre del directorio]: No such file or directory". No sé si te servirá de algo. |
#5
|
||||
|
||||
Hola de nuevo,
Se me ocurre que, siguiendo lo dicho en mi anterior mensaje, podría ser más fácil "preguntar" si el comando "CWD" tuvo éxito que lo contrario. Esto es, creo que podría hacerse algo así para averiguar si un directorio existe: Hay que tener en cuenta, en caso de que el directorio exista, que el comando "CDW" nos habrá movido al mismo, lo cual, si no interesara, podría "contrarestarse" del siguiente modo: De todos modos tendrás que hacer tus pruebas. Creo que no todos los servidores FTP admiten todos los comandos disponibles, dependerá de alguna que otra circunstancia (no estoy muy puesto en estos temas). Supongo que habrás realizado alguna que otra búsqueda en tu buscador favorito: en esta de Google encuentras no pocas referencias sobre los comandos FTP disponibles. |
|
|
|