PDA

View Full Version : [vb] copiare i files e prevedere le varie eventualità


mon--edited--romo
13-06-2006, 18:11
ciao a tutti, sono alle prese con un programmino in visual basic un pò ostico.
Il programma dovrebbe copiare i files da una cartella ad un altra e fare in modo che eventuali files preesistenti nella cartella di destinazione, che abbiano nomi uguali ma dimensioni differenti non vengano presi per identici e quindi sovrascritti. Dovrei praticamente nominare progressivamente i files con lo stesso nome ma con dimensione diversa. E' possibile ??? Secondo voi con il Visual Basic riuscirei a fare una cosa del genere?

In pratica il programma dovrebbe ricevere in input i nomi (o i percorsi ) delle cartelle "sorgente"e "destinazione" e poi fare la copia automaticamente rinominando eventuali files che hanno lo stesso nome dei files già presenti nella cartella di destinazione ma dimensione diversa.

mon--edited--romo
13-06-2006, 20:58
giusto per avere un'idea sul da farsi.



Grazie.


ciao

Stiwy.NET
19-06-2006, 10:54
Beh, non la vedo affatto difficile. Il tuo problema qual'è?
Ti scrivo il codice per VB.NET perchè non ho VB, ma la cosa è identica, cambiano solo un pò in nomi delle funzioni:


Private Sub CopiaFile()
Dim xCartella As New System.IO.DirectoryInfo("C:/Documenti")

For Each xFile As System.IO.FileInfo In xCartella.GetFiles
If Not System.IO.File.Exists("C:/CartellaDiCopia/" & xFile.Name) Then
System.IO.File.Copy(xFile.FullName, "C:/CartellaDiCopia/" & xFile.Name)
Else
Dim num As Int16 = 0
Dim nomeFile As String = xFile.Name.Substring(0, xFile.Name.Length - xFile.Extension.Empty)
While System.IO.File.Exists("C:/CartellaDiCopia/" & nomeFile & "(" & num & ")" & xFile.Extension)
num += 1
End While
System.IO.File.Copy(xFile.FullName, "C:/CartellaDiCopia/" & nomeFile & "(" & num & ")" & xFile.Extension)
End If
Next
End Sub


E' possibile che ci siano dei piccoli errori perchè non l'ho testato... :read:

Ti basta? serve altro?