Cerca

C# – Funzione per copiare una cartella in modo ricorsivo

Indice Articolo

Ultimi articoli pubblicati

Il Framework .NET offre molte funzioni per la gestione dei file, ma non esiste una funzione che ti permette di copiare una cartella con tutto il suo contenuto da un posto in un altro. Se a voi serve una funzione del genere allora potete utilizzare il codice qua sotto per crearvi la vostra funzione.

La funzione che ho creato io si chiama, CopiaCartellaRicorsivo e accetta in ingresso due variabili di tipo stringa sCartellaDestinazione e sCartellaOrigine. Il codice della funzione  è questo:

//Se la cartella di destinazione non esiste la creiamo
if (!Directory.Exists(sCartellaDestinazione))
Directory.CreateDirectory(sCartellaDestinazione);

//Gestione copia file
string[] files = Directory.GetFiles(sCartellaOrigine);
foreach (string file in files)
{
string sNomeFile = Path.GetFileName(file);
string sNomeFileDest = Path.Combine(sCartellaDestinazione, sNomeFile);
System.IO.File.Copy(file, sNomeFileDest, true);
}

//Gestione sottocartelle in modo ricorsivo
string[] sottocartelle = Directory.GetDirectories(sCartellaOrigine);
foreach (string cartella in sottocartelle)
{
string sNome = Path.GetFileName(cartella);
string sCartellaDestinazioneF = Path.Combine(sCartellaDestinazione, sNome);
CopiaCartellaRicorsivo(cartella , sCartellaDestinazioneF)
}

Questo è tutto. Per qualsiasi dubbio potete lasciare un commento in questo post. Buona programmazione

3 risposte

  1. Ciao, intanto complimenti per il tuo blog, è facile da “leggere” ed è interessante.
    Noto che ti cimenti in quel bel (ma anche stressante) mestiere dello sviluppo software..
    Volevo consigliarti una nuova community italiana dedicata alla programmazione, che puoi trovare al sito http://www.codingace.it
    E’ un misto tra un forum ed un social network, ma che tiene conto delle risposte date agli utenti che postano problemi, con un sistema di punteggi.
    Piu’ sei bravo, piu’ la tua reputazione aumenta… a breve pubblicheremo anche annunci di lavoro, e le aziende stesse saranno libere di cercare e contattare gli utenti, non solo in base al loro curriculum ma anche secondo la “reputazione” raggiunta.
    Se hai tempo e voglia, facci un giro, posta qualche problema di programmazione, o risolvi quelli degli altri utenti.. e se ti piace magari, dedicaci un articolo ;)!

  2. Ciao Luke,
    Più che ogni tanto diciamo che faccio questo di mestiere tutti i giorni. Purtroppo non ho tempo per scrivere tutti i giorni le mille problematiche affrontate.
    Sicuramente vi verrò a visitare.
    Ciao

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

sette + sei =