martedì 15 ottobre 2019

vbs gestione intervalli data per sql

'
option explicit
'
' vbs - gestire la data attuale, scrive data in formato ansi.
' riceve come input la cartella su cui scrivere i files con le date richieste.
'
dim objArgs, Title
Set objArgs = WScript.Arguments  'Controlla se esistono argomenti passati allo script
if objargs.count=0 then  'altrimenti visualizzo come si usa il programma
 msgbox "Trascinare un file sul programma per visualizzarlo", vbinformation+vbokonly, Title
 wscript.quit
end if
'
dim cartella
'
cartella = wscript.arguments(0)
'
dim dblog, slog, jarchivio
'
dim oggi
dim datasqlcorrente, datarichiesta, datasqlrichiesta
oggi = date
'
datasqlcorrente = fdatasql(oggi)
datarichiesta = fdatarichiesta(oggi)
'
datasqlrichiesta = fdatasql(datarichiesta)
'
dblog = cartella & "db-j-data-corrente.txt"
slog = oggi
call SovraScriviFile(dblog, slog)
'
dblog = cartella & "db-j-data-sql-corrente.txt"
slog = datasqlcorrente
call SovraScriviFile(dblog, slog)
'
dblog = cartella & "db-j-data-sql-richiesta.txt"
slog = datasqlrichiesta
call SovraScriviFile(dblog, slog)
'
'
' =========
'
function fdatarichiesta(pdata)
'
' legge di quanti giorni si vuole variare la data. per data passata inserire il numero in negativo. esempio -15
jarchivio = cartella & "db-j-data-varia-piu-o-meno-giorni.txt"
dim variadigioni
variadigioni = leggituttopulisci(jarchivio)
fdatarichiesta = dateadd("d", variadigioni, pdata)
end function
'
'
'
function fdatasql(pdata)
' genera la data nel formato: anno-mese-giorno. il 31/12/2099 diventa 2099-12-31
dim anno, mese, giorno, sdataj
anno = year(pdata)
sdataj = "00" & month(pdata)
mese = right(sdataj, 2)
sdataj = "00" & day(pdata)
giorno = right(sdataj, 2)
'
fdatasql = anno & "-" & mese & "-" & giorno
'
end function
'
' ============
'
function leggituttopulisci(pfiledaleggere)
'
dim contenutoletto
dim objFSO, objFile
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(pfiledaleggere) = true  Then
    'esistefile = "si"
    Set objFile = objFSO.OpenTextFile(pfiledaleggere, 1)
    contenutoletto = objFile.Readall
    objFile.Close
Else
    'esistefile = "no"
    contenutoletto = "0"
    call SovraScriviFile(pfiledaleggere, contenutoletto)
End If
'
contenutoletto = replace(contenutoletto, vbcrlf, "")
contenutoletto = replace(contenutoletto, vbcr, "")
contenutoletto = replace(contenutoletto, vblf, "")
'
leggituttopulisci = 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