1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
| '------------------------
'Declaration variables
'------------------------
Dim Centre, Plaque, Source, Destination, Safe, Fold, Fich, Log
Dim objFSO, FileLog, oShell, WshShell, oFS
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objArgs = Wscript.Arguments
VERSION="1.00"
centre = objArgs(0)
Select Case Centre
Case "1"
Plaque="Paris"
Case "2"
Plaque="Paris"
Case "3"
Plaque="Province"
Case "3"
Plaque="Province"
Wscript.echo "Erreur dans le parametre"
wscript.quit(2)
End Select
'-------------------------------------------------------
'Définission des chemins utilisés pour chaque centre
'-------------------------------------------------------
MyDate = Day(Now) & "." & Year(Now) & "." & Month(Now)
Log="E:\Log\Historique\bondetravail_" & centre & "_"& MyDate &".log"
Set fso = Wscript.CreateObject("Scripting.FileSystemObject")
Set FileLog = FSO.CreateTextFile(Log)
Source = "E:\projets\Appli\Source\"
Destination = "S:\Sauv\"& Centre &"\Fiche_"& Centre &"_"& MyDate &".zip"
Safe = "S:\Sauv\"& Centre &"\Sauve_Temp"
'------------------------------------------
'Initialisation des log pour chaque centre
'-------------------------------------------
Sub Msglog(severite,code,label)
wscript.echo Mydate & "-" & time & " " & severite & " " & code & " " & label
FileLog.WriteLine(Mydate & "-" & time & " " & severite & " " & code & " " & label)
end sub
'----------------------------------------------------------------------------------
'Copie des fichiers de + de 30 jours Source dans le dossier Safe
'----------------------------------------------------------------------------------
Set objFSO = CreateObject("Scripting.FileSystemObject")
AgeMaximalFichiers = 30
DateSysteme = Date
Sub Copie_des_fichiers()
msglog "0","0000","---Debut:------- Copie des fichiers dans le Dossier Sauve_Temp pour le centre " & centre
Set Fold = objfso.Getfolder(Source)
msglog "0","0000","---Fin:--------- Copie des fichiers dans le Dossier Sauve_Temp pour le centre " & centre
For Each Fich In Fold.Files
If (DateDiff("d", Fich.DateLastModified, DateSysteme ) < AgeMaximalFichiers) Then
'Do nothing
Else
If Fich.Attributes And 1 Then Fich.Attributes = Fich.Attributes - 1
Fich.Copy Safe & "\" , True
End If
Next
End Sub
'---------------------------------------------------------------------------------------------------
'Compression du dossier safe contenant les fichier.bak de + de 30 jours pour chaque centre
'---------------------------------------------------------------------------------------------------
Sub Compress
Set oShell = Wscript.CreateObject("Wscript.Shell")
msglog "0","0000","---Debut:------- Compression du Dossier " & Destination & " pour le centre " & centre
ZIP_CMD = "D:\7-Zip\7z.exe"
oShell.Run chr(34) & ZIP_CMD & chr(34) & " a -tzip -y " & Destination & " " & Safe, 0,True
msglog "0","0000","---Fin:--------- Compression du Dossier " & Destination & " pour le centre " & centre
End sub
'-----------------------------------------------------------
'Suppression du dossier Safe_Temp pour chaque centre
'-----------------------------------------------------------
Sub Supp_Safe_Temp
msglog "0","0000","---Debut:------- Suppression du Dossier Sauve_Temp pour le centre " & centre
Set oFSO = CreateObject("Scripting.FileSystemObject")
oFSO.DeleteFolder "S:\Sauv\"& Centre &"\Sauve_Temp",True
msglog "0","0000","---Fin:--------- Suppression du Dossier Sauve_Temp pour le centre " & centre
End sub
'---------------------------------------------------------------------------------------------------------
'Suppression des fichiers de + de 30 jours dans le dossier Source pour chaque centre
'---------------------------------------------------------------------------------------------------------
Sub Supp_fichiers()
msglog "0","0000","---Debut:------- Suppression des fichiers de + de 30 jours dans le dossier Source pour le centre " & centre
Set Folder = fso.Getfolder(Source)
msglog "0","0000","---Fin:--------- Suppression des fichiers de + de 30 jours dans le dossier Source pour le centre " & centre
For Each Fich In Fold.Files
If (DateDiff("d", Fich.DateLastModified , DateSysteme ) < AgeMaximalFichiers) Then
' Do nothing
Else
Fich.Delete ()
End If
Next
End Sub
'------------------
' Corps su script
'------------------
msglog "0","0000","---Debut:------- SauvBDT.vbs "
Copie_des_fichiers
Compress
Supp_Safe_Temp
Supp_fichiers
msglog "0","0000","---Fin:--------- SauvBDT.vbs"
FileLog.Close |
Partager