How to download recursively a folder using /usr/bin/ftp and cshell?

Hi, friends,
I am meet a ftp download problem when using cshell and /usr/bin/ftp command.
I want to download recursively a folder dira from FTP server.

dira ---dira1-----dira2------dira3-----dira4
      |--file11  |--file21    |--file31   |--file41
      |--file12  |--file22    |--file32   |--file42
      |--file13  |--file23    |--file33   |--file43

but It seems like mget * doesn't work very well.

my question is as follows:

  1. How to download recursively "dira" into local directory exactly the same as raw content structre located in FTP.
  2. because of cshell has no function, so in order to improve my cshell programming ability, I need to use cshell and /usr/bin/ftp not sh, bash, lftp, Wget, ncftp, lftp and so on.

I am looking forward to your help.
Thanks all.

Go up one level and mget the parent dir?

List the dir and create custom get just of files not dirs, saving dirs for later recursive calls?

A cshell script can call itself revursively, so the lack of functions is a minor detail.