I have a utility that creates a folder with several sub-folders on an FTP server and transfers files to the correct folders. This all works fine but I also want to be able to delete the complete folder when I've finished testing. So far, the only solution has been to loop through each file & sub-folder as I can't work out how to delete a non-empty folder.
I have tried "delete URL ftp://..." and I have tried sending direct FTP commands: DELE & RMD but all three options return an error saying the directory is not empty.
Is there a way of doing this in a single step? Is it a server-specific setting (in which case I can't assume that it will work everywhere)?
Looping through the folders and files is the only way to do it right now. (The delete directory command works in a similar way.)
The handler below should do what you want. Check that "the result" is empty to confirm that it deleted everything. BUT please test carefully as there could be some gotchas.. It checks for the presence of a ".." listing. I don't know if any FTP servers include this in directory listings, but just in case. (I once got caught this way when looping through "the directories" on the local file system.)
on deleteFTPDirectory pUrl
try
if last char of pUrl <> "/" then
put "/" after pUrl
end if
put url pUrl into tList
if the result <> empty then
throw the result
end if
repeat for each line tLine in tList
if char 1 of tLine is "-" then
put pUrl & word 9 to -1 of tLine into tFileUrl
delete url tFileUrl
if the result <> empty then
throw the result
end if
else if char 1 of tLine is "d" then
if word 9 of tLine <> ".." then
put word 9 to -1 of tLine into tDir put pUrl & word 9 to -1 of tLine into tDirUrl
deleteFTPDirectory tDirUrl
if the result is not empty then
throw the result
end if
end if
end if
end repeat
delete url pUrl
if the result is not empty then
throw the result
end if
return empty
catch pErr
return pErr
end try
end deleteFTPDirectoryCheers Dave _______________________________________________ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
