Traiter Repertoire avec VBS
Bonjour,
Je cherche à faire un script VBS qui dans un repertoire recupere tous les fichiers et les met dans un tableu.. il stocke les infos dans un tableau ( nom du fichier + date de creation du fichier).. apres il teste la date de création la plus récente des fichiers... Et puis il renvoie un message de d'erreur ( ou CRITICAL car c'est pour faire du Nagios) dans le cas le ficher le plus récent à 24h.. Pour le moment, j'ai un script qui teste si un fichier dans le repertoire a plus de 24h mais ca bloque quand jai plusieurs fichiers car il renvoie toujours un message d'erreur car il ya des fichiers qui s'accumulent..
Je vous présente mon script :
Code:
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
| <script language="VBScript">
If Wscript.Arguments.Named.Exists("h") Or Wscript.Arguments.Count = 0 Then
Wscript.Echo "Plugin help screen:"
Wscript.Arguments.ShowUsage()
Wscript.Quit(0)
End If
' Déclaration des variables et constantes
'----------------------------------------
strFolder = Wscript.Arguments.Unnamed.Item(0)
strMin = wscript.Arguments.Unnamed.Item(1)
strMin = Int(strMin)
Const intOK = 0
Const intWarning = 1
Const intCritical = 2
Const intUnknown = 3
'Début des tests
'---------------
Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(strFolder) Then 'Vérification si le répertoire existe
Set objFolder = objFSO.GetFolder(strFolder)
set colFiles = objFolder.Files
For Each objFile in colFiles
If DateDiff("n",objFile.DateLastModified,Now())>strMin Then
retour=retour+1
End If
Next
If retour>0 then
WScript.Echo "Fileage CRITICAL - des fichiers ont plus de " & strMin & " Minutes"
Wscript.Quit(intCritical)
Else
WScript.Echo "Fileage OK - Tous les fichiers ont moins de " & strMin & " Minutes"
WScript.Quit(intOK)
End If
Else
Wscript.Echo "Fileage Unknown - le dossier spécifie n existe pas"
Wscript.Quit(intUnknown)
End If
</script> |
Je précise juste que ce sont des fichiers .bak sous format xxx_20080609xxxx.bak avec "20080609" qui est la date de création du fichier.....
Besoin Urgent SVP...
Merci