'* Mp 06.06.2024 '* '* Klic AutoArhiv.vbs brez parametrov pogleda, ali obstoja [AutoArhiv.ini] z istim imenom kot ta izvajalna vbs doteka (AutoArhiv.vbs/AutoArhiv.ini). '* Če obstoja, iz nje prebere parametre '* Če ne obstoja, se poti in imena vzamejo iz PotBaze.txt. Arhiv se naredi v mapo, kjer se nahaja AutoArhiv.vbs '* '* Klic AutoArhiv.vbs [AutoArhiv.ini] prebere parametre iz [AutoArhiv.ini]. Ime inicializacijske datotekeje je lahko poljubno. '* V primeru, da sekcija Nastavitve za uporabnika ni zakomentirana, obveljajo slednje nastavitve '* Če obstoja C:\Finesa.Xp\Internet\7Za.exe ali 7za.exe, potem se uporabi 7za.exe, sicer C:\Finesa.XP\Internet\infozip-win.exe '* Zapiše tudi datum zadnjega arhiva '* Pohitreno 7Zip-anje -mx=1 Dim lsPotOsql, lsPot7z, lsPotArhiv, lsPotArhivNet, lsImeArhivNaDate, lsImeArhivPredpona, lsPotInImeScanDoc, lsScanDocDnevi, lsScanDocMeseci, lsImeArhivScanDocPredpona, lsBazaIme, lsServerIme, lbAliImeArhivNaDate, lbAliImeArhivNaImeDate, lbAliUpdateStats, lsNapredek, ArhivJeOk Dim lsFilePath, lsOdKod, oTextFilein, lsReadLine, lsSelfZip, lsDir, lsLevo, lsDesno, ldDatum, liPos, lbAliSgUporabnik, lsSgUporabnik, lsSgNiz, lbAliImeArhivNaLetoMesec, liOhraniStMesecev Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set WshShell = WScript.CreateObject("WScript.Shell") Set oFso = CreateObject("Scripting.FileSystemObject") lsSgUporabnik = "" ArhivJeOk=False '* Nastavitve se preberejo iz PotBaze '* lsFilePath=WshShell.CurrentDirectory lsPotOsql=Left(WScript.ScriptFullName,Len(WScript.ScriptFullName) - len(WScript.ScriptName)) IF oFso.FileExists(lsPotOsql & "osql.exe") = False Then lsPotOsql="C:\Finesa.XP\Internet\" IF oFso.FileExists(lsPotOsql & "osql.exe") = False Then lsPotOsql="" End If End if lsPot7z=Left(WScript.ScriptFullName,Len(WScript.ScriptFullName) - len(WScript.ScriptName)) '* msgbox lsPot7z '* set fso = createobject("scripting.filesystemobject") '* MSGBOX fso.getparentfoldername(wscript.scriptfullname) '* With WScript.CreateObject("Scripting.FileSystemObject") '* WScript.Echo .GetFile(WScript.ScriptFullName).ParentFolder.Path '* End With IF oFso.FileExists(lsPot7z & "7za.exe") = False Then lsPot7z="C:\Finesa.XP\Internet\" End if lsFilePath=Left(WScript.ScriptFullName,Len(WScript.ScriptFullName) - len(WScript.ScriptName)) & "PotBaze.txt" IF oFso.FileExists(lsFilePath) = False Then lsFilePath="C:\Finesa.Xp\PotBaze.txt" End if IF oFso.FileExists(lsFilePath) = True Then Set oTextFileIn = oFso.OpenTextFile(lsFilepath, ForReading) lsReadLine = oTextFilein.ReadLine lsServerIme = Left(lsReadLine, InStr(1, lsReadLine, "@", vbTextCompare) - 1) lsBazaIme = Mid(lsReadLine, InStr(1, lsReadLine, "@", vbTextCompare) + 1) lsBazaIme = Left(lsBazaIme, InStr(1, lsBazaIme, "#", vbTextCompare) - 1) If InStr(1, lsBazaIme, "@", vbTextCompare) > 0 Then lsBazaIme = Left(lsBazaIme, InStr(1, lsBazaIme, "@", vbTextCompare) - 1) End If lsDesno = Mid(lsReadLine, InStr(1, lsReadLine, "#", vbTextCompare) + 1) If Right(lsDesno, 1) = "\" Then '* Ok Else lsDesno = lsDesno & "\" End If lsPotArhivNet=Replace(lsDesno, "#", "", 1, -1, vbTextCompare) & "ArhivSQL\AutoArhiv\" lsPotArhiv =Left(WScript.ScriptFullName,Len(WScript.ScriptFullName) - Len(WScript.ScriptName)) End IF lsScanDocDnevi="01" lsScanDocMeseci="02, 05, 09, 12" lbAliImeArhivNaLetoMesec = False liOhraniStMesecev=2 REM Ne še: lbAliImeArhivNaDate=True '* Po novem naj se ime generira na podlagi imena dneva v tednu. Če želiš drugače, zapiši to v AutoArhiv.ini '* Če obstoja ini datoteka, ki ima enako ime kot ta datoteka (ponavadi AutoArhiv.vbs/AutoArhiv.ini), se nastavitve vzamejo iz ini datoteke lsFilePath=Replace(WScript.ScriptFullName, ".vbs", ".ini", 1, -1, vbTextCompare) '* Če je pri klicu navedna ini datoteka, obvelja slednja IF Wscript.Arguments.Count = 0 Then '* Brez vhodnih parametrov. Ostane kot je navedeno zgoraj. ELSE lsFilePath=Wscript.Arguments(0) End IF IF oFso.FileExists(lsFilePath) = True Then Set oTextFileIn = oFso.OpenTextFile(lsFilepath, ForReading) Do Until oTextFileIn.AtEndOfStream lsReadLine = oTextFilein.ReadLine liPos = InStr(1, lsReadLine, "'*", vbTextCompare) If liPos > 0 Then lsReadLine = Trim(Left(lsReadLine, liPos - 1)) End If IF Left(lsReadLine, Len("lsServerIme"))="lsServerIme" Then lsServerIme=Trim(Replace(Replace(lsReadLine,"lsServerIme=", "", 1, -1, vbTextCompare), """", "", 1, -1, vbTextCompare)) End IF IF Left(lsReadLine, Len("lsBazaIme"))="lsBazaIme" Then lsBazaIme=Trim(Replace(Replace(lsReadLine,"lsBazaIme=", "", 1, -1, vbTextCompare), """", "", 1, -1, vbTextCompare)) End IF IF Left(lsReadLine, Len("lsPotArhivNet"))="lsPotArhivNet" Then lsPotArhivNet=Trim(Replace(Replace(lsReadLine,"lsPotArhivNet=", "", 1, -1, vbTextCompare), """", "", 1, -1, vbTextCompare)) End IF IF Left(lsReadLine, Len("lsPotArhiv"))="lsPotArhiv" Then lsPotArhiv=Trim(Replace(Replace(lsReadLine,"lsPotArhiv=", "", 1, -1, vbTextCompare), """", "", 1, -1, vbTextCompare)) End IF IF Left(lsReadLine, Len("lsPotInImeScanDoc"))="lsPotInImeScanDoc" Then lsPotInImeScanDoc=Trim(Replace(Replace(lsReadLine,"lsPotInImeScanDoc=", "", 1, -1, vbTextCompare), """", "", 1, -1, vbTextCompare)) End IF IF Left(lsReadLine, Len("lsScanDocDnevi"))="lsScanDocDnevi" Then lsScanDocDnevi=Trim(Replace(Replace(lsReadLine,"lsScanDocDnevi=", "", 1, -1, vbTextCompare), """", "", 1, -1, vbTextCompare)) End IF IF Left(lsReadLine, Len("lsScanDocMeseci"))="lsScanDocMeseci" Then lsScanDocMeseci=Trim(Replace(Replace(lsReadLine,"lsScanDocMeseci=", "", 1, -1, vbTextCompare), """", "", 1, -1, vbTextCompare)) End IF IF Left(lsReadLine, Len("lbAliImeArhivNaDate"))="lbAliImeArhivNaDate" Then lbAliImeArhivNaDate=CBool(Replace(Replace(lsReadLine,"lbAliImeArhivNaDate=", "", 1, -1, vbTextCompare), """", "", 1, -1, vbTextCompare)) End IF IF Left(lsReadLine, Len("lbAliImeArhivNaImeDate"))="lbAliImeArhivNaImeDate" Then lbAliImeArhivNaImeDate=CBool(Replace(Replace(lsReadLine,"lbAliImeArhivNaImeDate=", "", 1, -1, vbTextCompare), """", "", 1, -1, vbTextCompare)) End IF IF Left(lsReadLine, Len("lbAliImeArhivNaLetoMesec"))="lbAliImeArhivNaLetoMesec" Then lbAliImeArhivNaLetoMesec=CBool(Replace(Replace(lsReadLine,"lbAliImeArhivNaLetoMesec=", "", 1, -1, vbTextCompare), """", "", 1, -1, vbTextCompare)) End IF IF Left(lsReadLine, Len("lbAliUpdateStats"))="lbAliUpdateStats" Then lbAliUpdateStats=CBool(Replace(Replace(lsReadLine,"lbAliUpdateStats=", "", 1, -1, vbTextCompare), """", "", 1, -1, vbTextCompare)) End IF IF Left(lsReadLine, Len("lbAliSgUporabnik"))="lbAliSgUporabnik" Then lbAliSgUporabnik=CBool(Replace(Replace(lsReadLine,"lbAliSgUporabnik=", "", 1, -1, vbTextCompare), """", "", 1, -1, vbTextCompare)) End IF IF Left(lsReadLine, Len("liOhraniStMesecev"))="liOhraniStMesecev" Then liOhraniStMesecev=CInt(Replace(Replace(lsReadLine,"liOhraniStMesecev=", "", 1, -1, vbTextCompare), """", "", 1, -1, vbTextCompare)) End IF Loop End IF '*********************************************************************** '* Nastavitve za uporabnika. Vrstni red je enak vrstnemu redu parametrov '* lsServerIme="." '* lsBazaIme="Finesa" '* lsPotArhivNet="C:\Finesa.Xp\ArhivSQL\AutoArhiv\" '* lsPotArhiv="C:\Finesa.Xp\ArhivSQL\AutoArhiv\" '* lsPotInImeScanDoc="" '* Če je pot prazna, se mapa ne arhivira '* lbAliImeArhivNaDate = False '* lbAliImeArhivNaImeDate = False '* lbAliImeArhivNaLetoMesec=False '* lbAliUpdateStats = False '* liOhraniStMesecev = 2 '*********************************************************************** On Error Resume Next Set objExplorer = Wscript.CreateObject("InternetExplorer.Application") IF Err.Number = 0 Then objExplorer.Navigate "about:blank" objExplorer.Toolbar = 0 objExplorer.StatusBar = 0 objExplorer.Width = 610 objExplorer.Height = 200 objExplorer.Left = 400 objExplorer.Top = 200 Do While (objExplorer.Busy) Wscript.Sleep 200 Loop objExplorer.Visible = 1 objExplorer.Document.Title = "Arhiviranje podatkovne zbirke" End If On Error GoTo 0 Napredek "

" & "Podatkovna zbirka: " & lsServerIme & "@" & lsBazaIme & "

", False Napredek "

" & "Delovna mapa:      " & lsPotArhivNet & "

", False Napredek "

" & "Arhivska mapa:      " & lsPotArhiv & "

", False Napredek "

" & "___________________________________________________________" & "

", True Napredek "Poteka arhiviranje podatkovne zbirke ... ", True IF oFso.FolderExists(lsPotArhivNet) = False Then Napredek "Mapa ne obstoja: " & lsPotArhivNet, False Izhod '* Če ni mogoče narediti arhiva, sledi takojšen izhod END If IF oFso.FolderExists(lsPotArhiv) = False Then Napredek "Mapa ne obstoja: " & lsPotArhiv, False Izhod '* Če ni mogoče narediti arhiva, sledi takojšen izhod END If IF lsPotOsql="" Then On Error Resume Next WshShell.Run "osql -L", 7, True If Err.Number <> 0 Then Napredek "Program ne najde " & lsPotQsql & "osql.exe", False Err.Clear Izhod '* Če ni mogoče narediti arhiva, sledi takojšen izhod End If Err.Clear On Error GoTo 0 Else IF oFso.FileExists(lsPotOsql & "osql.exe") = False Then Napredek "Program ne najde " & lsPotQsql & "osql.exe", False Izhod '* Če ni mogoče narediti arhiva, sledi takojšen izhod END If End If IF oFso.FileExists("C:\Finesa.XP\Internet\infozip-win.exe") = False AND oFso.FileExists(lsPot7z & "7Za.exe") = False Then Napredek "Program ne najde C:\Finesa.XP\Internet\infozip-win.exe niti " & lsPot7z & "7Za.exe.", False Izhod '* Če ni mogoče narediti arhiva, sledi takojšen izhod END If Napredek "SQL Backup ... ", False lsFilePath=Left(WScript.ScriptFullName,Len(WScript.ScriptFullName) - len(WScript.ScriptName)) & "RezultatBackUp.txt" '* Po novem se briše pred kreacijo, ne na koncu IF (oFso.FileExists(lsPotArhivNet & "FinesaArhiv.dat")) = True then oFso.DeleteFile lsPotArhivNet & "FinesaArhiv.dat" End IF WshShell.Run lsPotOsql & "osql -S" & lsServerIme & " -d" & lsBazaIme & " -E -Q""dbo.qfsArhiviranje '" & lsPotArhivNet & "FinesaArhiv.dat'"" -o""" & lsFilePath & """", 7, True IF (oFso.FileExists(lsPotArhivNet & "FinesaArhiv.dat")) = True then Napredek "OK", True Set obj_Shell = CreateObject("WScript.Shell") Set obj_WSH = obj_Shell.Exec(lsPotOsql & "osql -S" & lsServerIme & " -d" & lsBazaIme & " -E -Q""SELECT TOP 1 StrankaID FROM tfsNastavitev"" -h-1") Set obj_STDOUT = obj_WSH.StdOut lsSgUporabnik = LEFT(obj_STDOUT.ReadAll, 10) ELSE WshShell.Run """" & lsPotOsql & "osql"" -S" & lsServerIme & " -d" & lsBazaIme & " -UArhivar -PPassword -Q""dbo.qfsArhiviranje '" & lsPotArhivNet & "FinesaArhiv.dat'"" -o""" & lsFilePath & """", 7, True IF (oFso.FileExists(lsPotArhivNet & "FinesaArhiv.dat")) = True then Napredek "OK", True Set obj_Shell = CreateObject("WScript.Shell") Set obj_WSH = obj_Shell.Exec(lsPotOsql & "osql -S" & lsServerIme & " -d" & lsBazaIme & " -UArhivar -PPassword -Q""SELECT TOP 1 StrankaID FROM tfsNastavitev"" -h-1") Set obj_STDOUT = obj_WSH.StdOut lsSgUporabnik = LEFT(obj_STDOUT.ReadAll, 10) ELSE Napredek "Napaka - Uporabnik Arhivar !!!", True Izhod '* Če ni mogoče narediti arhiva, sledi takojšen izhod End IF End If '************************************************************************************************************************************** IF lbAliUpdateStats=True Then '* Vključi, če želiš še Update Statistics Napredek "SQL sp_updatestats ... ", False lsFilePath=Left(WScript.ScriptFullName,Len(WScript.ScriptFullName) - len(WScript.ScriptName)) & "RezultatSpUpdateStats.txt" IF (oFso.FileExists(lsFilePath)) = True then oFso.DeleteFile lsFilePath End IF WshShell.Run lsPotOsql & "osql -S" & lsServerIme & " -d" & lsBazaIme & " -E -Q""sp_updatestats"" -o" & lsFilePath, 7, True Set oTextFileIn = oFso.OpenTextFile(lsFilepath, ForReading) lsReadLine = oTextFilein.ReadLine If InStr(1, lsReadLine, "Msg", vbTextCompare)=0 Then Napredek "OK", True ELSE Napredek "Napaka !!!", True End IF End IF '************************************************************************************************************************************** Napredek "Zip ... ", False lsImeArhivPredpona=lsBazaIme & "Arhiv" IF lbAliSgUporabnik=True AND LEN(LTRIM(TRIM(lsSgUporabnik)))>0 THEN lsSgNiz="-pFinesa" & LTRIM(TRIM(lsSgUporabnik)) & " -mem=AES256 " ELSE lsSgNiz="" End If IF oFso.FileExists(lsPot7z & "7Za.exe") = True THEN WshShell.Run """" & lsPot7z & "7Za.exe "" a -tzip -mx=1 " & lsSgNiz & """" & lsPotArhiv & lsImeArhivPredpona & ".zip"" """ & lsPotArhivNet & "FinesaArhiv.dat""",7,True ELSE WshShell.Run "C:\Finesa.XP\Internet\infozip-win.exe """ & lsPotArhiv & lsImeArhivPredpona & ".zip"" """ & lsPotArhivNet & "FinesaArhiv.dat""",7,True END If IF (oFso.FileExists( lsPotArhiv & lsImeArhivPredpona & ".zip")) = True then Napredek "OK", True ELSE Napredek "Napaka !!!", True Izhod '* Če ni mogoče narediti Zip-a, sledi takojšen izhod End IF IF lbAliImeArhivNaDate = True OR lbAliImeArhivNaImeDate = True Then IF lbAliImeArhivNaImeDate = True Then '* Varianta, če želiš da se hranijo vsi arhivi z imenom dneva v tednu lsImeArhivNaDate=lsImeArhivPredpona & WeekDayName(WeekDay(Now())) ELSE '* Varianta, če želiš da se hranijo vsi arhivi z imenom LetoMesecDan lsImeArhivNaDate= "Arhiv" & Year(date()) & Right("00" & Month(date()), 2) & Right("00" & Day(date()), 2) & "_" & Right("00" & Hour(Time()), 2) & Right("00" & Minute(Time()), 2) & Right("00" & Second(Time()), 2) End IF Napredek "Poimenovanje arhiva ... ", False IF (oFso.FileExists(lsPotArhiv & lsImeArhivPredpona & ".zip")) = True then oFso.CopyFile lsPotArhiv & lsImeArhivPredpona & ".zip", lsPotArhiv & lsImeArhivNaDate & ".zip" oFso.DeleteFile lsPotArhiv & lsImeArhivPredpona & ".zip" IF (oFso.FileExists(lsPotArhivNet & "FinesaArhiv.dat")) = True then IF lbAliSgUporabnik=True AND LEN(LTRIM(TRIM(lsSgUporabnik)))>0 Then '* oFso.DeleteFile lsPotArhivNet & "FinesaArhiv.dat" End If End If IF CDATE (oFso.GetFile(lsPotArhiv & lsImeArhivNaDate & ".zip").DateLastModified) > Date() - 1 Then WshShell.Run lsPotOsql & "osql -S" & lsServerIme & " -d" & lsBazaIme & " -E -Q""UPDATE tfsNastavitev SET AutoArhivZadnjiDatum=GetDate()"" -o""" & lsFilePath & """", 7, True WshShell.Run lsPotOsql & "osql -S" & lsServerIme & " -d" & lsBazaIme & " -UArhivar -PPassword -Q""UPDATE tfsNastavitev SET AutoArhivZadnjiDatum=GetDate()"" -o""" & lsFilePath & """", 7, True End If End If Napredek "OK", True IF lbAliImeArhivNaImeDate = True Then '* Še mesečno, če še ne obstoja Dim lsLeto IF lbAliImeArhivNaLetoMesec = True THEN lsLeto=Year(Now()) Else lsLeto="" End IF IF liOhraniStMesecev>0 And oFso.FileExists(lsPotArhiv & lsImeArhivPredpona & lsLeto & MonthName(Month(Now())) & ".zip") = False Then '* Če za ta mesec še ne obstoja Zip '* Shrani še mesečno po imenu meseca Napredek "Izdelava mesečne kopije ... ", False IF oFso.FileExists(lsPotArhiv & lsImeArhivNaDate & ".zip") = True Then oFso.CopyFile lsPotArhiv & lsImeArhivNaDate & ".zip", lsPotArhiv & lsImeArhivPredpona & lsLeto & MonthName(Month(Now())) & ".zip" End If IF oFso.FileExists(lsPotArhiv & lsImeArhivPredpona & lsLeto & MonthName(Month(Now())) & ".zip") = True Then IF liOhraniStMesecev<>12 And oFso.FileExists(lsPotArhiv & lsImeArhivPredpona & lsLeto & MonthName(Month( DateAdd("m",-1*liOhraniStMesecev,Now()))) & ".zip") = True Then oFso.DeleteFile lsPotArhiv & lsImeArhivPredpona & lsLeto & MonthName(Month( DateAdd("m",-1*liOhraniStMesecev,Now()))) & ".zip" End If End If Napredek "OK", True End If End IF IF Len(lsPotInImeScanDoc)>0 Then '* Če pot do mape ScanDoc ni prazna, shrani vse v tej mapi vsako sredo IF InStr(1,lsScanDocDnevi, WeekDay(Now()))>0 Then Napredek "Zip ScanDoc " & WeekDayName(WeekDay(Now())) & " ... ", False lsImeArhivScanDocPredpona="ScanDoc" IF oFso.FileExists(lsPot7z & "7Za.exe") = True THEN WshShell.Run lsPot7z & "7Za.exe a -r -tzip -mx=1 " & lsSgNiz & """" & lsPotArhiv & lsImeArhivScanDocPredpona & WeekDayName(WeekDay(Now())) & ".zip"" " & Replace(lsPotInImeScanDoc, "'", """", 1, -1, vbTextCompare), 7, True ELSE WshShell.Run "C:\Finesa.XP\Internet\infozip-win.exe -r """ & lsPotArhiv & lsImeArhivScanDocPredpona & WeekDayName(WeekDay(Now())) & ".zip"" " & Replace(lsPotInImeScanDoc, "'", """", 1, -1, vbTextCompare), 7, True END If IF (oFso.FileExists(lsPotArhiv & lsImeArhivScanDocPredpona & WeekDayName(WeekDay(Now())) & ".zip")) = True then Napredek "OK", True ELSE Napredek "Napaka !!!", True End IF End If IF (oFso.FileExists(lsPotArhiv & lsImeArhivScanDocPredpona & Year(Now()) & MonthName(Month(Now())) & ".zip")) = False then IF InStr(1,lsScanDocMeseci, Month(Now()))>0 Then Napredek "Zip ScanDoc " & Year(Now()) & MonthName(Month(Now())) & " ... ", False lsImeArhivScanDocPredpona="ScanDoc" IF oFso.FileExists(lsPot7z & "7Za.exe") = True THEN WshShell.Run lsPot7z & "7Za.exe a -r -tzip -mx=1 " & lsSgNiz & """" & lsPotArhiv & lsImeArhivScanDocPredpona & Year(Now()) & MonthName(Month(Now())) & ".zip"" " & Replace(lsPotInImeScanDoc, "'", """", 1, -1, vbTextCompare), 7, True ELSE WshShell.Run "C:\Finesa.XP\Internet\infozip-win.exe -r """ & lsPotArhiv & lsImeArhivScanDocPredpona & Year(Now()) & MonthName(Month(Now())) & ".zip"" " & Replace(lsPotInImeScanDoc, "'", """", 1, -1, vbTextCompare), 7, True END If IF (oFso.FileExists(lsPotArhiv & lsImeArhivScanDocPredpona & Year(Now()) & MonthName(Month(Now())) & ".zip")) = True then Napredek "OK", True ELSE Napredek "Napaka !!!", True End IF End If End If End IF Napredek "Arhiv je shranjen v: " & lsPotArhiv & lsImeArhivNaDate & ".zip", False ArhivJeOk=True Else Napredek "Poimenovanje arhiva ... ", False IF oFso.FileExists(lsPotArhiv & lsImeArhivPredpona & "07.zip") = True Then oFso.DeleteFile lsPotArhiv & lsImeArhivPredpona & "07.zip" End If IF oFso.FileExists(lsPotArhiv & lsImeArhivPredpona & "06.zip") = True Then oFso.MoveFile lsPotArhiv & lsImeArhivPredpona & "06.zip ", lsPotArhiv & lsImeArhivPredpona & "07.zip" End If IF oFso.FileExists(lsPotArhiv & lsImeArhivPredpona & "05.zip") = True Then oFso.MoveFile lsPotArhiv & lsImeArhivPredpona & "05.zip ", lsPotArhiv & lsImeArhivPredpona & "06.zip" End If IF oFso.FileExists(lsPotArhiv & lsImeArhivPredpona & "04.zip") = True Then oFso.MoveFile lsPotArhiv & lsImeArhivPredpona & "04.zip ", lsPotArhiv & lsImeArhivPredpona & "05.zip" End If IF oFso.FileExists(lsPotArhiv & lsImeArhivPredpona & "03.zip") = True Then oFso.MoveFile lsPotArhiv & lsImeArhivPredpona & "03.zip ", lsPotArhiv & lsImeArhivPredpona & "04.zip" End If IF oFso.FileExists(lsPotArhiv & lsImeArhivPredpona & "02.zip") = True Then oFso.MoveFile lsPotArhiv & lsImeArhivPredpona & "02.zip ", lsPotArhiv & lsImeArhivPredpona & "03.zip" End If IF oFso.FileExists(lsPotArhiv & lsImeArhivPredpona & "01.zip") = True Then oFso.MoveFile lsPotArhiv & lsImeArhivPredpona & "01.zip ", lsPotArhiv & lsImeArhivPredpona & "02.zip" End If IF oFso.FileExists(lsPotArhiv & lsImeArhivPredpona & ".zip") = True Then oFso.MoveFile lsPotArhiv & lsImeArhivPredpona & ".zip", lsPotArhiv & lsImeArhivPredpona & "01.zip" End If IF (oFso.FileExists(lsPotArhiv & lsImeArhivPredpona & "01.zip")) = True then IF CDATE (oFso.GetFile(lsPotArhiv & lsImeArhivPredpona & "01.zip").DateLastModified) > Date() - 1 Then WshShell.Run lsPotOsql & "osql -S" & lsServerIme & " -d" & lsBazaIme & " -E -Q""UPDATE tfsNastavitev SET AutoArhivZadnjiDatum=GetDate()"" -o""" & lsFilePath & """", 7, True WshShell.Run lsPotOsql & "osql -S" & lsServerIme & " -d" & lsBazaIme & " -UArhivar -PPassword -Q""UPDATE tfsNastavitev SET AutoArhivZadnjiDatum=GetDate()"" -o""" & lsFilePath & """", 7, True End If Napredek "OK", True ArhivJeOk=True ELSE Napredek "Napaka !!!", True ArhivJeOk=False End IF '* Mesečna opravila ldDatum=Date lsFilePath=Left(WScript.ScriptFullName,Len(WScript.ScriptFullName) - Len(WScript.ScriptName)) & lsImeArhivPredpona & Year(ldDatum) & Month(ldDatum) & ".txt" IF oFso.FileExists(lsFilePath) = False Then '* Če za ta mesec še ne obstoja signalna datoteka opravi mesečna opravila '* Shrani še mesečno lsImeArhivPredpona & "01.zip" Napredek "Izdelava mesečne kopije ... ", False IF oFso.FileExists(lsPotArhiv & "Mes" & lsImeArhivPredpona & "03.zip") = True Then oFso.DeleteFile lsPotArhiv & "Mes" & lsImeArhivPredpona & "03.zip" End If IF oFso.FileExists(lsPotArhiv & "Mes" & lsImeArhivPredpona & "02.zip") = True Then oFso.MoveFile lsPotArhiv & "Mes" & lsImeArhivPredpona & "02.zip ", lsPotArhiv & "Mes" & lsImeArhivPredpona & "03.zip" End If IF oFso.FileExists(lsPotArhiv & "Mes" & lsImeArhivPredpona & "01.zip") = True Then oFso.MoveFile lsPotArhiv & "Mes" & lsImeArhivPredpona & "01.zip ", lsPotArhiv & "Mes" & lsImeArhivPredpona & "02.zip" End If IF oFso.FileExists(lsPotArhiv & lsImeArhivPredpona & "01.zip") = True Then oFso.CopyFile lsPotArhiv & lsImeArhivPredpona & "01.zip", lsPotArhiv & "Mes" & lsImeArhivPredpona & "01.zip" End If Napredek "OK", True IF Len(lsPotInImeScanDoc)>0 Then '* Če pot do mape ScanDoc ni prazna, shrani vse v tej mapi Napredek "Zip ScanDoc ... ", False lsImeArhivScanDocPredpona="ScanDoc" IF oFso.FileExists(lsPot7z & "7Za.exe") = True THEN WshShell.Run lsPot7z & "7Za.exe a -r -tzip -mx=1 " & lsSgNiz & """" & lsPotArhiv & lsImeArhivScanDocPredpona & ".zip"" " & Replace(lsPotInImeScanDoc, "'", """", 1, -1, vbTextCompare), 7, True ELSE WshShell.Run "C:\Finesa.XP\Internet\infozip-win.exe -r """ & lsPotArhiv & lsImeArhivScanDocPredpona & ".zip"" " & Replace(lsPotInImeScanDoc, "'", """", 1, -1, vbTextCompare), 7, True END If IF oFso.FileExists(lsPotArhiv & "Mes" & lsImeArhivScanDocPredpona & "03.zip") = True Then oFso.DeleteFile lsPotArhiv & "Mes" & lsImeArhivScanDocPredpona & "03.zip" End If IF oFso.FileExists(lsPotArhiv & "Mes" & lsImeArhivScanDocPredpona & "02.zip") = True Then oFso.MoveFile lsPotArhiv & "Mes" & lsImeArhivScanDocPredpona & "02.zip ", lsPotArhiv & "Mes" & lsImeArhivScanDocPredpona & "03.zip" End If IF oFso.FileExists(lsPotArhiv & "Mes" & lsImeArhivScanDocPredpona & "01.zip") = True Then oFso.MoveFile lsPotArhiv & "Mes" & lsImeArhivScanDocPredpona & "01.zip ", lsPotArhiv & "Mes" & lsImeArhivScanDocPredpona & "02.zip" End If IF oFso.FileExists(lsPotArhiv & lsImeArhivScanDocPredpona & ".zip") = True Then oFso.MoveFile lsPotArhiv & lsImeArhivScanDocPredpona & ".zip", lsPotArhiv & "Mes" & lsImeArhivScanDocPredpona & "01.zip" End If IF (oFso.FileExists(lsPotArhiv & "Mes" & lsImeArhivScanDocPredpona & "01.zip")) = True then Napredek "OK", True ELSE Napredek "Napaka !!!", True End IF End IF '* Kreiranje signalne datoteke za ta mesec. Set aFile = oFso.CreateTextFile(lsFilePath, True) '* Kreiraj signalno datoteko za ta mesec Set aFile = oFso.GetFile(lsFilePath) '* Shrani (Zapri) signalno datoteko za ta mesec '* Pobriši signalno datoteko za prejšnji mesec ldDatum=DateSerial(Year(ldDatum), Month(ldDatum), 0) lsFilePath=Left(WScript.ScriptFullName,Len(WScript.ScriptFullName) - Len(WScript.ScriptName)) & lsImeArhivPredpona & Year(ldDatum) & Month(ldDatum) & ".txt" IF (oFso.FileExists(lsFilePath)) = True then oFso.DeleteFile lsFilePath End IF End IF IF (oFso.FileExists(lsPotArhiv & lsImeArhivPredpona & "01.zip")) = True then Napredek "Arhiv je shranjen v: " & lsPotArhiv, False ArhivJeOk=True ELSE ArhivJeOk=False End IF '* Pobriši začasne datoteke IF (oFso.FileExists(lsPotArhivNet & "FinesaArhiv.dat")) = True then IF lbAliSgUporabnik=True AND LEN(LTRIM(TRIM(lsSgUporabnik)))>0 Then '* oFso.DeleteFile lsPotArhivNet & "FinesaArhiv.dat" End If End If End If IF ArhivJeOk=True Then Wscript.Sleep 15000 ELSE MsgBox "Pri arhiviranju podatkovne zbirke je prišlo do napake!",, "Finesa" End IF On Error Resume Next objExplorer.Quit '*WScript.Quit RETURN FUNCTION Napredek(argNapredek, argLF) On Error Resume Next lsNapredek=lsNapredek & argNapredek objExplorer.Document.Body.InnerHTML = lsnapredek IF argLF=True Then objExplorer.Height = objExplorer.Height + 50 lsNapredek=lsNapredek & "
 
" End IF On Error GoTo 0 End Function FUNCTION Izhod() MsgBox "Pri arhiviranju podatkovne zbirke je prišlo do napake!",, "Finesa" On Error Resume Next objExplorer.Quit WScript.Quit End Function