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 127 128
| Dim Source
Dim Destination
Dim Safe
DIM Log
Dim objFSO, FileLog, oShell, WshShell, oFS
MyDate = Day(Now) & "." & Year(Now) & "." & Month(Now)
FILE_SUPP="E:\Program\projets\Traitement\Etude\DossierA\*.bak"
Source = "E:\Program\projets\Traitement\Etude\DossierA"
Destination = "S:\Historique\DossierA\DossierA_sauve_"& MyDate &".zip"
Safe = "E:\Program\projets\Traitement\Etude\DossierA\Safe"
Sub Msglog(severite,code,label)
wscript.echo Mydate & "-" & time & " " & severite & " " & code & " " & label
FileLog.WriteLine(Mydate & "-" & time & " " & severite & " " & code & " " & label)
end sub
AgeMaximalFichiers = 30
DateSysteme = Date
Sub Msglog(severite,code,label)
wscript.echo Mydate & "-" & time & " " & severite & " " & code & " " & label
FileLog.WriteLine(Mydate & "-" & time & " " & severite & " " & code & " " & label)
end sub
'--------------------------------------------------------------
'Test si le dossier DossierA n'est pas vide
'--------------------------------------------------------------
Sub Verif_DossierA
msglog "0","0000","-Debut: Verification que le Repertoire DossierA n'est pas vide
If objFSO.FolderExists(Source) Then
Set objFolder = objFSO.GetFolder(Source)
If objFolder.Files.Count = 0 And objFolder.SubFolders.Count = 0 Then
Msglog "1","0001","WARNING: Le Repertoire DossierA est vide
wscript.quit (8)
Else
msglog "0","0000","Le Repertoire DossierA n'est pas vide
End If
End If
msglog "0","0000","-Fin: Verification que le Repertoire DossierA n'est pas vide
End Sub
'--------------------------------------------------------------
'Copie des fichiers de DossierA n-1 dans le dossier Safe
'--------------------------------------------------------------
Sub Safe
Set Folder = fso.Getfolder(Source)
For Each File In Folder.Files
If (DateDiff("d", File.DateCreated, DateSysteme) > AgeMaximalFichiers) Then
If File.Attributes And 1 Then File.Attributes = File.Attributes - 1
File.Copy()
Else
End If
End Sub
'-------------------------------------------------------------------------------------------
'Compression du dossier safe contenant les fichiers .bak -n1 et déplacement dans Historique
'-------------------------------------------------------------------------------------------
Sub Compress
Set WshShell = Wscript.CreateObject("Wscript.Shell")
msglog "0","0000","---Debut: Compression du répertoire " & Safe & "
ZIP_CMD = "D:\7-Zip\7z.exe"
WshShell.Run chr(34) & ZIP_CMD & chr(34) & " a -tzip -y " & Destination & " " & Safe
msglog "0","0000","---Fin: Compression du répertoire " & Safe & "
End sub
Sub Tempo
msglog "0","0000","---Debut: Tempo pour traitement"
wScript.Sleep 2000000
msglog "0","0000","---Fin: Tempo pour traitement"
end Sub
'-------------------------------------------------------------------------------------------
'Suppression des fichiers .bak -n1 qui ont été zippé dans la dossierA
'-------------------------------------------------------------------------------------------
Sub SupprimeFiles
Set fso = CreateObject("Scripting.FileSystemObject")
Set Folder = fso.Getfolder(Source)
For Each File In Folder.Files
If (DateDiff("d", File.DateCreated, DateSysteme) > AgeMaximalFichiers) Then
If File.Attributes And 1 Then File.Attributes = File.Attributes - 1
File.Delete()
End If
Next
end sub
msglog "0","0000","-Fin: Traitement du ZIP " & Source & " et déplacement dans " & Destination & " pour le centre " & centre
'---------------------------
' Corps su script
'---------------------------
msglog "0","0000","---Debut: Sauv_DossierA.vbs "
Verif_DossierA
Safe
Compress
Tempo
SupprimeFiles
msglog "0","0000","---Fin: Sauv_DossierA.vbs"
FileLog.Close |
Partager