Comprobacion de archivos

Aquí puedes preguntar o compartir tus dudas y conocimientos acerca del programa
No funciona asi , los comodines como dices no están reflejados en la ayuda del plugin ftp , no todo es extrapolable de una accion a otras , tienes que adaptarte a lo que te ofrece el plugin y codificar sobre eso.

Una forma seria utilizando los atributos de la tabla ftp.list , tienes la opción "type" que te dice si es un archivo o una carpeta y a partir de hay codifica , te dejo este script basado en el tuyo pero no lo he probado ni nada, deberás adaptarlo a tu código:
path=_DesktopFolder; -- path de descarga
filename = tblFiles[i].Name;-- nombre de tu archivo
Type = tblFiles[i].Type;-- comprobacion de si es file o folder

if (Type == 1)-- si es un archivo palante...
	FTP.Download(filename,path.."\\"..filename);-- descragamos archivos en el path
	err = Application.GetLastError();
	if err == FTP.OK then-- si no hay error...
		Dialog.Message("Ok", "Descargado con exito", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);--msg
	else-- si hay error...
		Dialog.Message("error",_tblErrorMessages[err] , MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);-- msg
	end
else -- type == 0 por lo tanto es una carpeta
	FTP.ChangeDir(filename);-- nos posicionamos en la carpeta
	if not Folder.DoesExist(path.."\\"..filename) then-- si la carpeta no esta en nuestro sistema , la creamos...
		Folder.Create(path.."\\"..filename);--creamos...
	end
	tbFiles = FTP.ListFiles();-- obtenemos tabla con los archivos del directorio
	
	for i = 1, tbFiles.Count do-- loop
		f = tbFiles[i].Name;-- nombre del archivo
		FTP.Download(f,path.."\\"..f);-- descarga
	
		err = Application.GetLastError();
		if err ~= FTP.OK then-- si es diferente hay error en la descarga
			Dialog.Message("error",_tblErrorMessages[err] , MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);--msg error
			break;-- paramos el loop
		end
	end
	
	if err == FTP.OK then -- si no hay error(importante...fuera del loop)
		Dialog.Message("Ok", "Descargado con exito", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
	end
end
 
Espero que con esto soluciones tu problema ;)

Aki tienes un ejemplo de ftp que hice hace tiempo ;)
http://dl.dropbox.com/u/27007640/Plugins/xFtp.apz
rafaxplayer te mereces el Nobel de colaboración en los foros. :') Sigue asi gente como tu es la que necesita esta comunidad.
Gracias Rafa en cuanto llegue a casa me pongo con ello a ver si doy con al tecla adecuada.. perdona ser tan zoquete y pesado en esto, pero ganas de aprender no me faltan jajja
Thedary escribió:rafaxplayer te mereces el Nobel de colaboración en los foros. :') Sigue asi gente como tu es la que necesita esta comunidad.
Nobel? jajaj creo que bastante más. No quiero menospreciar a nadie jajaj (y perdonarme de verdad) pero si de autoplay se 1.5% jajaj el 1.3% se lo debo a Rafa... es sin duda el tio que mas me está ayudando y espero algun dia poder delvolver ese favor jajaj
Bueno pues he estado "fusando" por aqui y por allá y lo he hecho funcionar. Gracias Rafa por tu ayuda tio.

Seguramente contenga fallos por un tubo pero no se como, me funciona mas o menos como yo queria. Aunque aun tengo que pulirlo bastante.

El caso es que no copia los archivos dentro de las carpetas. Es decir copia todo lo que esta en el directorio FTP tanto archivos como carpetas, pero no lo que hay dentro de ellas.

Os dejo el codigo para que echeis un ojo.
FTP.Connect("xxxxxxxxxxx", "xxxxxxxxxxxx", "xxxxxxxxxxxxx", "", true); --Datos para conectarnos al FTP
FTP.ChangeDir("/descargas/panel7th/Campeonatos/Formula 1");--Situacio en el directorio deseado
tblFiles = FTP.ListFolders()-- listado de archivos
target_folder = Dialog.FolderBrowse("Instalar en carpeta raiz de rFactor ", "C:\\");--Seleccion dir local

for i = 1, tblFiles.Count do-- Bucle para recorrer la tabla de los archivos del ftp
        bValue = File.DoesExist(target_folder..tblFiles[i].Name);-- Comprobacion si cada uno existe en el dir local

        if bValue == false then -- si da falso , es que no existe
                Dialog.Message("Notice", "Se ha encontrado que "..tblFiles[i].Name.." no existe en tu directorio local", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);-- mensage
path= target_folder; -- path de descarga
filename = tblFiles[i].Name;-- nombre de tu archivo
Type = tblFiles[i].Type;-- comprobacion de si es file o folder

if (Type == 1)then-- si es un archivo palante...

        FTP.Download(filename, path.."\\"..filename);-- descargamos archivos en el path
        err = Application.GetLastError();
        if err == FTP.OK then-- si no hay error...
                Dialog.Message("Ok", "Descargado con exito", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);--msg
        else-- si hay error...
                Dialog.Message("error",_tblErrorMessages[err] , MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);-- msg
        end
else -- type == 0 por lo tanto es una carpeta
        FTP.ChangeDir("/descargas/panel7th/Campeonatos/Formula 1");-- nos posicionamos en la carpeta
        if not Folder.DoesExist(path.."\\"..filename) then-- si la carpeta no esta en nuestro sistema , la creamos...
                Folder.Create(path.."\\"..filename);--creamos...
        end
        tblFiles = FTP.ListFiles();-- obtenemos tabla con los archivos del directorio
        
        for i = 1, tblFiles.Count do-- loop
                f = tblFiles[i].Name;-- nombre del archivo
                FTP.Download(f,path.."\\"..f);-- descarga
        
                err = Application.GetLastError();
                if err ~= FTP.OK then-- si es diferente hay error en la descarga
                        Dialog.Message("error",_tblErrorMessages[err] , MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);--msg error
                        break;-- paramos el loop
                end
        end
        
        if err == FTP.OK then -- si no hay error(importante...fuera del loop)
                Dialog.Message("Éxito", "Descargado con exito", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
        end
end
                
                
err = Application.GetLastError();

-- desconectar
FTP.Disconnect();

        end

end
aaa

interesante
Oh my good :cerrado: