|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Bannato
Iscritto dal: Jul 2005
Messaggi: 261
|
[vb] copiare i files e prevedere le varie eventualità
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. |
|
|
|
|
|
#2 |
|
Bannato
Iscritto dal: Jul 2005
Messaggi: 261
|
basterebbe una traccia
giusto per avere un'idea sul da farsi.
Grazie. ciao |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 611
|
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: Codice:
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
Ti basta? serve altro? |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:35.



















