After you have a list of files and/or directories you will have to exectue a new ftp request to get items in that list. For example if, I request the contents of a dir and get a list of files you will then need to loop over that list making a request for each file. Then inside the loop overwrite your local copy. You'll basically handle it like you would local files only use an ftp request and read the stream where you would have normally opened the file and read the stream.
This question shows how to recursively get all files in current dir and sub dirs. How to recursively list all the files in a directory in C#?
If you're on the same domain you can use UNC paths with the normal dir/file objects and forgo the ftp request entirely.