copia di cartelle

Esiste un modo per copiare una cartella e tutto il suo contenuto, in un’altra che abbia un nome diverso?

Ho risolto in questo modo:

 Dim dest as FolderItem =  GetFolderItem("").Parent.Parent.Child("KH").Child(file1.text)
 Dim source as FolderItem = GetFolderItem("").parent.child("DEF").Child(file2.Text) 
  For i As Integer = 1 To source.Count         
    Dim sourceItem as FolderItem = source.TrueItem(i)
    sourceItem.CopyFileTo(dest)
  next

A proposito! Child(file1.text) e Child(file2.text) sono le fieldbox contenenti i nomi delle cartelle!

Giampaolo, quello da te proposto funziona a patto che la cartella contenga solo files. Se contiene altre cartelle non funziona.
Dovresti anzitutto verificare the nel loop se il file una cartella (Folderitem.Directory) e in tal caso richiamare ricorsivamente la stessa funzione.

Qualcosa di simile a questo:

Private Sub CopyFileOrFolder(source as folderItem, dest as folderItem) dim destFolder as folderItem for i as integer = 1 to source.Count if source.TrueItem(i).Directory then destFolder = dest.child(source.TrueItem(i).name) destFolder.createAsFolder CopyFileOrFolder(source.TrueItem(i), destFolder) else source.TrueItem(i).CopyFileTo(dest) end if next End Sub

da richiamare inizialmente con:

Dim dest as FolderItem = GetFolderItem("").Parent.Parent.Child("KH").Child(file1.text) Dim source as FolderItem = GetFolderItem("").parent.child("DEF").Child(file2.Text) CopyFileOrFolder(source, dest)

Attenzione che l’ho scritto direttamente quindi potrebbe contenere errori. Inoltre manca un minimo controllo sui possibili errori, quali un folder gi esistente, permessi di lettura o scrittura, etc.)

Grazie per la precisazione Massimo! In effetti quello che dovevo copiare erano solo files e pertanto il problema non mi si presentava. Ma quello che qui hai indicato molto prezioso per il futuro. Grazie di nuovo!