IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Traiter Repertoire avec VBS


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 6
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Besoin Urgent SVP...
    Nous traitons tous les sujets de la même façon car nous considérons qu'ils sont tous urgents. Donc ne crois pas avoir un traitement de faveur parce que tu nous signale que c'est urgent. Tout ce que cela peut faire, c'est nous agacer !!!!

    Le code suivant me semble correcte pour ce que tu veux faire, et il me semble que si cela te renvois une erreur, ce n'est pas à cause de la multiplication de fichiers, mais parce qu'au moins l'un d'entre eux rend la condition vraie.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If DateDiff("n",objFile.DateLastModified,Now())>strMin Then 
    retour=retour+1 
    End If

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 6
    Par défaut
    Oui je sais désolé si ca du vous agacer.. c'est dans la précipitation que j'ai pu mettre ca... Désolé..

    Pour revenir au problème je sais que l'erreur vient de là en fait. Car il ya au moins un qui :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If DateDiff("n",objFile.DateLastModified,Now())>strMin Then 
    retour=retour+1 
    End If
    Mais le pb est que je sais pas cmt, le modifier pour faire ce que je veux faire... gérer la multiplication... tu aurais une idée??

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Citation Envoyé par delawood Voir le message
    Oui je sais désolé si ca du vous agacer.. c'est dans la précipitation que j'ai pu mettre ca... Désolé..

    Pour revenir au problème je sais que l'erreur vient de là en fait. Car il ya au moins un qui :
    If DateDiff("n",objFile.DateLastModified,Now())>strMin Then
    retour=retour+1
    End If


    Mais le pb est que je sais pas cmt, le modifier pour faire ce que je veux faire... gérer la multiplication... tu aurais une idée??
    Et qu'est ce que tu veux faire ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/05/2006, 17h00
  2. Sélectionner un repertoire avec Windows
    Par SebRs dans le forum Windows
    Réponses: 3
    Dernier message: 31/03/2006, 20h29
  3. Créer un repertoire avec php
    Par cout dans le forum Langage
    Réponses: 3
    Dernier message: 23/01/2006, 17h15
  4. [VBS] Ecrire dans les Eventlog avec VBS
    Par Hakkou dans le forum VBScript
    Réponses: 1
    Dernier message: 04/10/2004, 14h50
  5. Réponses: 2
    Dernier message: 08/07/2004, 01h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo