Oppure

Loading
20/06/07 7:48
gmax74
devo realizzare un programma che da un bacth esterno richiama il prg il quale mi deve eseguire una copia di backup incrementale :

1- prendo il file originale e sposto nella cartella di backup

2- nella cartella backup devo eseguire la copia con una retecion di 50gg (giorni)

3- x far ciò devo fargli controllare se esiste il file originale , in questo caso se c'e' esegui copia originale ---> originale.1
originale.1 -> originale.2
e cosi via

4- in questo codice riesco a fare le copie ma solo dello stesso file !! come posso fare a risolvere il problema?


Function backup()
Dim files As String
Dim num As Long
Dim lavoro As String
Dim inizio As String
files = "c:\gm\files\"
lavoro = "c:\gm\safe\"

FileCopy files & "eodspool", lavoro & ("eodspool" & "." & "prn";)
Name files & "eodspool" As files & ("eodspool" & "." & "prn";)
Kill files & ("eodspool" & "." & "prn";)
For num = 1 To 50
FileCopy lavoro & ("eodspool" & "." & (num)), lavoro & ("eodspool" & "." & (num +1))
Next num

end function
aaa
20/06/07 13:41
P4p3r0g4
hai le idee un po confuse.
semplifichiamo e trsformiamo
Function backup()
Dim files As String
Dim num As Long
Dim lavoro As String
Dim inizio As String
files = "c:\gm\files\"
lavoro = "c:\gm\safe\"

FileCopy files & "eodspool", lavoro & ("eodspool" & "." & "prn")
Name files & "eodspool" As files & ("eodspool" & "." & "prn")
Kill files & ("eodspool" & "." & "prn")
  For num = 1 To 50
  FileCopy lavoro & ("eodspool" & "." & (num)), lavoro & ("eodspool" & "." & (num +1))
Next num

end function

=>
Function backup()
Dim files As String
Dim num As Long
Dim lavoro As String
Dim inizio As String
files = "c:\gm\files\"
lavoro = "c:\gm\safe\"

FileCopy files & "eodspool", lavoro & "eodspool.prn"
Kill files & "eodspool"
  For num = 1 To 50
  FileCopy lavoro & ("eodspool." & (num)), lavoro & ("eodspool." & (num +1))
Next num
end function

ora cosa fa questo codice?sposta eodspool in lavoro e poi fa 50 copie di eodspool.1 (che fra l'altro deve già essere li perchè nessuno l'ha creato..)
ora guardo di mettere a posto il codice per te.
Ultima modifica effettuata da P4p3r0g4 20/06/07 13:41
aaa
20/06/07 13:51
P4p3r0g4
Function backup(nomefile as string)
Dim files As String
Dim num As Long
Dim lavoro As String
Dim inizio As String
files = "c:\gm\files\"
lavoro = "c:\gm\safe\"

FileCopy files & nomefile, lavoro & (nomefile & ".prn")
Kill files & nomefile
For num = 1 To 50
  on error resume next
  Name lavoro & (nomefile & "." & (50-num)), lavoro & (nomefile & "." & (51-num))
Next num
FileCopy files & (nomefile & ".prn"), lavoro & (nomefile & ".1")
end function


ora basta che fai backup("ilnomedelfile";) e ti farà il tuo backup.il numero di copie massime è limitato a 50.

Ps:hai capito come funziona e dove erano i tuoi errori?
Ultima modifica effettuata da P4p3r0g4 20/06/07 13:54
aaa
21/06/07 14:44
gmax74
ok grazie !!!
ora mi metto a lavoro e verifico il tutto
aaa