Cómo crear una función recursiva para copiar todos los archivos y carpetas

Estoy tratando de crear una función que copiará recursivamente una carpeta de origen y todos los archivos y carpetas dentro de ella a una ubicación diferente.

En este momento, tengo que definir cada carpeta dentro de la carpeta principal, lo que hace que el código sea inflado y redundante.

¿Qué es una forma más eficiente de hacer esto?

Respuestas a la pregunta(4)

Su respuesta a la pregunta