VB6
Option Explicit
' AGGIUNGERE sul form il componente FileListBox (File1) che visualizza i files contenuti in una cartella
' non vengono eseguiti controlli
' se PercorsoSorgente non esiste errore
' se PercorsoDestinazione già esiste errore (improbabile visto che il nome cambia ad ogni secondo)
' utilizzate molte variabili per permettere il controllo delle operazioni svolte step by step
' non ho usato il riferimento Microsoft Scripting Runtime (scrrun.dll) ma consiglio di studiarlo
Private Sub Form_Load()
Dim PercorsoSorgente As String
Dim PercorsoDestinazione As String
Dim NFiles As Long
Dim PosizionePunto As Integer
Dim FileInEsame As String
Dim NuovoNome As String
Dim DataOraBackup As String
' mettere a false se si vuole eseguire in background
Form1.Visible = True
'------------------- VARIABILI DA COMPILARE COME ESIGENZA -----------
' percorso dove risiedono i files .txt con slash finale, DEVE ESISTERE !!
PercorsoSorgente = "c:\Documents and Settings\Nomepc\Documenti\Download\"
' percorso e nome della cartella (parte iniziale) di destinazione, senza slash alla fine
PercorsoDestinazione = "c:\backup" ' al nome cartella scelto verranno aggiunti data e ora
'---------------------------------------------------------------------------
File1.Path = PercorsoSorgente ' imposta il percorso
File1.Pattern = "*.txt" ' visualizza solo i files con estensione .txt"
DataOraBackup = Now ' leggo l'ora e la data attuale dall'orologio del pc
' sostituisco il carattere "/" non ammesso sul nome della cartella con il carattere "-"
DataOraBackup = Replace(DataOraBackup, "/", "-")
' aggiungo al nome della cartella la data e l'ora
PercorsoDestinazione = PercorsoDestinazione & " " & DataOraBackup & "\"
MkDir (PercorsoDestinazione) ' creo la nuova cartella
' imposto un ciclo da 1 al numero dei files .txt presenti nella cartella sorgente
For NFiles = 1 To File1.ListCount
' leggo il nome del file alla posizione -1 perchè l'indice parte da zero
FileInEsame = File1.List(NFiles - 1)
' memorizzo la posizione del primo punto all'interno del nome del file
PosizionePunto = InStr(1, FileInEsame, ".", vbTextCompare)
' ricreo il nuovo nome prendendo il percorso, la prima parte del nome del file e aggiungendo txt
NuovoNome = PercorsoDestinazione & Left(FileInEsame, PosizionePunto) & "txt"
' copio il file dal PercorsoSorgente+FileInEsame nel nuovo percorso
Call FileCopy(PercorsoSorgente & FileInEsame, NuovoNome)
Next NFiles
If Form1.Visible = False Then End ' se il form non è visibile il programma finisce
End Sub
Ultima modifica effettuata da Carlo il 05/02/2018 alle 11:56
in programmazione tutto è permesso |