martedì 15 maggio 2018

vbs - elenca file per data modifica

'

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