'
option explicit
'
' vbs - elenca file con data di modifica
' diversa dall'ultima scansione della cartella
'
'
dim cartella
cartella = "C:\archivio-listini\"
'
dim adesso, dbdataultimalettura, dataultimalettura
adesso = now
'
dbdataultimalettura = cartella & "db-data-ultima-lettura.txt"
dataultimalettura = leggituttoverifica(dbdataultimalettura, adesso)
'
'
Dim a, f, b, i
'
Set f = FilesModificati(cartella, dataultimalettura)
'
a = f.keys
b = f.items
For i = 0 To f.count - 1
WScript.Echo "nuovo file: " & a(i) & " : " & b(i)
Next
'
call SovraScriviFile(dbdataultimalettura, adesso)
'
Set f = Nothing
WScript.Quit(0)
'
' =====
'
Function FilesModificati (FolderSpec, pdataultimalettura)
Dim fso, fc, f, d, numerogiorni
Set fso = CreateObject("Scripting.FileSystemObject")
Set fc = fso.GetFolder(FolderSpec).Files
Set d = CreateObject("Scripting.Dictionary")
For Each f in fc
numerogiorni = DateDiff("d", pdataultimalettura, f.DateLastModified)
if numerogiorni > 0 then
d.Add f, f.DateLastModified & " :nr: " & numerogiorni
end if
Next
Set fso = Nothing
Set fc = Nothing
Set FilesModificati = d
End function
'
' ===== =========
'
function leggituttoverifica(pfiledaleggere, pvaloredefault)
'
dim objFSO, objFile, contenutoletto
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(pfiledaleggere) Then
'esistefile = "si"
Set objFile = objFSO.OpenTextFile(pfiledaleggere, 1)
contenutoletto = objFile.Readall
contenutoletto = replace(contenutoletto, vbcrlf, "")
contenutoletto = replace(contenutoletto, vbcr, "")
contenutoletto = replace(contenutoletto, vblf, "")
objFile.Close
Else
'esistefile = "no"
contenutoletto = pvaloredefault
Set objFile = objFSO.CreateTextFile(pfiledaleggere, TRUE)
objFile.WriteLine(pvaloredefault)
End If
'
objFile.Close
'
leggituttoverifica = contenutoletto
'
Set objFSO = Nothing
'
end function
'
' === sovra scrive file ===================
'
Sub SovraScriviFile(pNomeArchivio, pcosascrivere)
dim fso, rifefile
Set fso=CreateObject("Scripting.FileSystemObject")
Set rifefile = fso.CreateTextFile(pNomeArchivio, TRUE)
rifefile.WriteLine(pcosascrivere)
rifefile.Close
set rifefile = Nothing
End Sub
'
' =======================
'
Nessun commento:
Posta un commento