Que hay amigos de Ammspecialist!

Tengo un pequeño problema al cargar mis archivos via FTP
El caso es que quiero subir archivos junto su carpeta especifica, tengo un codigo pero en el me falta algo,


Codigo
local serHosname = Input.GetText("InpHostname");
	
if FTP.IsValidHostname(serHosname) then
	
	
		local serUsername = Input.GetText("InpUsername");
		local serPassword = Input.GetText("InpPassword");
		local serPath = Input.GetText("InpPublic");
	
	
		if(strUsername == "") then
			FTP.Connect(serHostname);
		else
			FTP.Connect(serHostname, serUsername, serPassword);
		end
	
		local err = Application.GetLastError();
		if err == FTP.OK then
			
		Dialog.TimedMessage("", "Preparando carga de datos", 2000, MB_ICONNONE);

Folder = (_TempFolder.."\\".."TempFiles\\Folders");


Files = File.Find(Folder, "*.*", false, false, nil, nil);
file_count = Table.Count(Files);

if (Files ~= -1) then

FTP.Connect(serHosname, serUsername, serPassword, "", true);
FTP.MakeDir(serPath);
FTP.ChangeDir(serPath);


for n=1,file_count do

	splfile=String.SplitPath(Files[n]);
FTP.Upload(Files[n],splfile.Filename..splfile.Extension, nil);
 			
				
end
end

Este codigo sube todos los archivos, perno sube las carpetas especificas que estan en
(_TempFolder.."\\".."TempFiles\\Folders)

Lo que pasa es que los nombres de las carpetas dentro de Folders, cambian, si no fuese asi , solo seria poner un MakeDir,
Espero me puedan ayudar