celien_78
Messages postés6Date d'inscriptionvendredi 10 novembre 2006StatutMembreDernière intervention 6 mai 2008
-
5 mai 2008 à 16:58
celien_78
Messages postés6Date d'inscriptionvendredi 10 novembre 2006StatutMembreDernière intervention 6 mai 2008
-
6 mai 2008 à 20:28
Bonjour à tous,
Sur un serveur 2003, j'essaye de créer un script vbs qui m'archive les logs d'une application de manière automatique suivant le mois de création et l'année.
Les fichiers sont de type : exAAMMJJ.log (AnnéeMoisJour)
Le but est de créer un fichier LogAAMM.zip contenant tout les log du mois MM et année AA.
Je ne vois pas comment faire un tri par mois+année des logs puis les placée par exemple dans un repertoire temporaire qui sera zipper par la suite puis supprimé.
Pour la partie zip j'utilise 7Zip avec ce bout de code :
option Explicit
dim oshell, strDate
strDate = Date
strDate = Replace(strDate,"/","-")
set oshell=createobject("wscript.shell")
oshell.run "cmd /C C:\7-Zip\7z.exe a -tzip C:\LOG\Archives"& strDate &".zip C:\LOG\*.log -r"
Je sais pas si il est possible d'utiliser simplement la fonction de compression native a windows. (clic droit, envoyer vers, dossier compressé...)
Si vous avez des idées ou une piste merci de m'en faire part.
celien_78
Messages postés6Date d'inscriptionvendredi 10 novembre 2006StatutMembreDernière intervention 6 mai 2008 6 mai 2008 à 20:28
ok j'ai avancé et fini quasiment!
j'ai fait simple, je compare les dates si les log sont pas de ce mois alors ils sont zippé dans une archive se nommant avec la date de creation ;)
voici mon code :
Dim DateLM
Dim FSO
Dim oshell
Set oshell=createobject("wscript.shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
set Repertoire = FSO.GetFolder (LogFolder)
set ListeFichiers = Repertoire.files
For each fichier in ListeFichiers
DateLM = fichier.DateLastModified
FicDate = (Mid(DateLM,7,4))&(Mid(DateLM,4,2))
CurDate = (Mid(Date,7,4)) & (Mid(Date,4,2))
IF FicDate <> CurDate Then
'Zip du fichier
oshell.run "cmd /C " & AppFolder & "\7z.exe a -tzip " & ZipFolder & "" & FicDate & ".zip " & LogFolder & "" & fichier.name & " -r",0,true
End If
'Fin du script pour fichier en cours
Next