Bueno no se si para subir una carpeta pero si para varios archivos primero creas un archivo batch que contenga una linea que es ftp -s:scriptftp.txt, y dentro de scriptftp.txt pones todos los comandos como si los escribieras manual te pongo un ejemplo:
open
192.168.10.2
username
userpass
bin
cd /home/datafiles/
put archivo1.txt
put archivo2.jpg
bye
obvio que en las lineas de username y userpass van los datos de la cuenta pero en la siguiente linea pones la manera en la que va a trabajar el archivo si en ascii o binario esto es importante por que puede cambiar el formato de los archivos uso comun es bin para que los suba tal cual.
Bueno este yo lo he manejado para un archivo puedes hacer pruebas ya en tiempo real, tambien ahi puedes poner un get para bajar archivos.
Espero que la informacion te sea util.
Saludos.