'
Option Explicit
' vbs - copia ad intervalli predefini i file elencati in un file di testo
' fnomearchivio: contiene il path completro dei file da copiare.
' fileultimalettura: contiene la data dell'ultima copia eseguita.
' cartelladovescrivere: il mome della cartella dove copiare i file.
' dopogiorni: in giorni la periodicità della copia
'
dim fileultimalettura, contenutoletto, dataultimocontrollo, dataoggi, differenzagiorni, dopogiorni, fnomearchivio, cartelladovescrivere
fileultimalettura = "C:\installazioni-in-lavorazione\data-ultima-copia.txt"
' solo copia - configurazione
fnomearchivio = "C:\installazioni-in-lavorazione\elenco-file-installazione.txt"
cartelladovescrivere = "C:\cartella-di-sincronizzazione\installazioni-da-distribuire\"
dopogiorni = 7 ' il numero dei giorni di attesa prima di una nuova copia
dataoggi = Now ' data odierna
' = legge il file parametri - se non esiste lo crea con il valore di default passato
Call LeggioCreaFileParametri(fileultimalettura, dataoggi)
'
dataultimocontrollo = contenutoletto
'
differenzagiorni = DateDiff("y", dataultimocontrollo, dataoggi)
if differenzagiorni >= dopogiorni then
'Msgbox "da fare"
call leggielenco(fnomearchivio)
Call ScriviFileJolly(fileultimalettura, dataoggi)
end if
'
' === legge i nomi dei file da copiare ===
sub leggielenco(filedaleggere)
dim objFSO, objFile, strLine, nomearchivio
'
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(filedaleggere, 1)
'
Do While objFile.AtEndOfStream = False
strLine = trim(objFile.ReadLine)
if len(strLine) > 0 then
nomearchivio = objFSO.GetFileName(strLine)
objFSO.CopyFile strLine, cartelladovescrivere & nomearchivio
end if
'
Loop
'
end sub
' ==== ====
Sub LeggioCreaFileParametri(sFileName, valoredefault)
'
dim objFSO, objFile, strLine
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(sFilename) Then
'esistefile = "si"
Set objFile = objFSO.OpenTextFile(sFileName, 1)
'contenutoletto = objFile.Readall
contenutoletto = objFile.ReadLine
Else
'esistefile = "no"
contenutoletto = valoredefault
Set objFile = objFSO.CreateTextFile(sFileName, TRUE)
objFile.WriteLine(valoredefault)
End If
'
Set objFile = Nothing
Set objFSO = Nothing
'
End sub
' ==== ====
Sub ScriviFileJolly(NomeArchivio, cosascrivere)
dim fso, rifefile
Set fso=CreateObject("Scripting.FileSystemObject")
Set rifefile = fso.CreateTextFile(NomeArchivio, TRUE)
rifefile.WriteLine(cosascrivere)
rifefile.Close
set rifefile = Nothing
End Sub
'
' === ==================
Nessun commento:
Posta un commento