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 :

Création fichier texte pour un log


Sujet :

VBScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 32
    Points : 14
    Points
    14
    Par défaut Création fichier texte pour un log
    Bonjour,

    je voudrais savoir comment faire pour créer un fichier texte à chaque partie de mon script VBS pour qu'il écrive et confirme qu'il execute bien les différentes parties du script que j'ai. Je ne sais pas si c'est clair ^^ en gros, à chaque fois que le script fait une action sur windows, qu'il crée un répertoire, je voudrais que la commande soit inscrite dans un fichier .txt (ou .log) à la suite, et cela me permet de voir si le script s'execute correctement sur certains pc ou pas. (sorte de debogeur). Je précise que je ne connais pratiquement rien en .vbs ^^. Il faudrait aussi qu'a chaque ligne qui est executée soit écrite sans effacer la précedente, enfin j'espère être assez clair ^^

    merci à vous pour votre aide et vos réponses !

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    en utilisant fso ..:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    MonLog "Test de mon log"
    Sub MonLog (StMess)
      Const ForReading = 1, ForWriting = 2 ,ForAppending = 8
       Dim oFso, f
       Set oFso = CreateObject("Scripting.FileSystemObject")
       Set f = oFso.OpenTextFile("c:\tmp\fichier1.txt", ForAppending,true)
       f.writeLine Now & " : " & stMess
       f.Close
     end sub
    tu peu aussi écrire dans le journal d'évènement de windows

    Comment écrire dans le journal d'évènements de Windows ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 32
    Points : 14
    Points
    14
    Par défaut
    l'écriture dans le journal windows pas pour tout de suite ^^

    là ton script permet je crois (si je sais lire vu que je ne maitrise) de juste lire un fichier txt via un vbs non ? vu que tu lui demandes d'ouvrir le fichier via un repertoire, moi je voudrais que pendant mon script, ici par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ' On crée ici les signatures
    ' A partir d'ici, toute la méthode n'est pas supportée par Microsoft.
    '---------------------------------------------------------------------
    Dim objShell, RegKey, RegKeyParm
    Set objShell = CreateObject("WScript.Shell")
    il puisse créer un fichier texte qui me dit qu'il a bien fait les 2 lignes de commandes, et vu que je veux le mettre après exécution de commandes, il faut que le fichier puisse être modifier et mis à jour pendant l'exe du vbs sans supprimer ce qu'il a mit au début (si tu vois ce que je veux dire ^^)

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    ben tu modifie ton code par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim objShell, RegKey, RegKeyParm
    MonLog "On crée ici les signatures"
    Set objShell = CreateObject("WScript.Shell")

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 32
    Points : 14
    Points
    14
    Par défaut
    je dois mal m'exprimer xD

    en fait ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ' On crée ici les signatures
    ' A partir d'ici, toute la méthode n'est pas supportée par Microsoft.
    '---------------------------------------------------------------------
    Dim objShell, RegKey, RegKeyParm
    Set objShell = CreateObject("WScript.Shell")
    il ne faut pas y toucher, c'est mon script mais il effectue donc une action, et cette action je veux qu'elle soit écrite dans un fichier .txt/log pour qu'on voit si selon les pc l'action est exécutée ou pas ! (tu saisis ou pas là ? xD ^^)


    pour comparer, ou pour que d'autres comprennent ^^ il faut que ca fasse comme un fichier .bat ou quand tu fais les executions de ligne tu peux créer un fichier texte pour voir si les actions ont été exécutées ou pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Set Currentpath=%~dp0
    call %currentpath%Script_commun.bat
     
     
    if not exist "c:\Temp\" md c:\Temp
    if not exist "c:\Temp\Logon\" md c:\Temp\Logon
     
    if exist "\\root\Logon\%username%_srv.txt" del "\\root\Logon\%username%_srv.txt"
    del "c:\Temp\Logon\%username%_srv.txt"
    un truc comme ca, mais pour le vbs, car le batch ne passe pas en vbs ;(

  6. #6
    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 : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    ce que t'a fourni bbil est une méthode sub, qui lorsqu'elle est appellé, ajoute à la fin d'un fichier log un message passé en paramètre de cette fonction.

    A chaque fois que tu veux savoir si telle ou telle ligne a été faite, tu fais appelle à cette méthode juste après ces lignes.
    Un exemple avec la méthode sub de bbil
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dim toto
    toto = "youi !!!!"
    msgbox toto
    MonLog toto & " a été affiché"
    Ce script t'affiche le contenu de la variable toto puis ensuite ecrit à la suite des autres lignes du fichier log que le contenu de la varaible toto a été affiché.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 32
    Points : 14
    Points
    14
    Par défaut
    ok l'insertion marque niquel ! par contre ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonLog "Test de mon log"
    est-ce qu'on peut lui dire d'aller prendre les infos ailleurs ? car, il écrit ce que je veux mettre, mais peut il prendre les lignes d'au dessus pour me montrer que les lignes on été exécutées ? :


    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
    ' Création du chemin local contenant les signatures
    '--------------------------------------------------
     
    UserDataPath = ObjShell.ExpandEnvironmentStrings("%appdata%")
    FolderLocation = UserDataPath &"\Microsoft\Externe\"
    FolderLocation = UserDataPath &"\Microsoft\Externe\"
     
    'test du log
    '-----------------------
     
    MonLog "salut toto"
    Sub MonLog (StMess)
    Const ForReading = 1, ForWriting = 2 ,ForAppending = 8
     Dim oFso, f
     Set oFso = CreateObject("Scripting.FileSystemObject")
     Set f = oFso.OpenTextFile("c:\Temp\Script.txt", ForAppending,true)
     f.writeLine Now & " : " & stMess
     f.Close
     end sub
     
    'fin de test du log
    '---------------------
    donc là, je veux juste qu'il écrive si l'action précedente (donc création du chemin local et le reste) à été faite, si ce n'a pas été fait, il n'écrira rien et donc nous en lisant le script, on saura ou ca bug

  8. #8
    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 : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Bah cela peut le faire mais pas tout seul.

    Pour écrire en fonction de la réussite de la ligne précédente, il faut tester le résultat de la ligne précédente, si elle est testable.
    Et tu n'as plus qu'à lui passer la ligne du code en commentaire comme si c'était du texte, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    dim toto
    toto = "un texte"
    If Not IsEmpty(toto) Then
       MonLog "le contenu ""toto"" : " & toto & " a bien était copié dans la variable toto"
    End If
    Une remarque, il n'est pas nécessaire de copier partout la fonction sub.
    Tu l'as met une seule fois dans le script, en dehors de ton sub principael, et ensuite tu l'appelle à l'aide de son nom.

    Je n'ai pas l'empression que tu as des notion de programmation, je me trompe ?
    As tu déjà développé un script ou autre chose ?
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 32
    Points : 14
    Points
    14
    Par défaut
    non, je comprends juste la logique, je connais le basic (ti-82 ^^)

    en fait, je suis en entreprise pour le moment, et on travaille sur ce script (je suis un peu laissé à l'aveuglette pour que je fasse mes armes) et donc je prépare un BTS IG option admin reséaux ^^ les cours commencent le 15 sept, donc là, si on me parle de boucle, if, then ou autre chose je vais comprendre, mais vu que je n'y connais rien je ne sais pas encore quoi mettre/faire ^^

    je test et j'edit merci en tout cas

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 32
    Points : 14
    Points
    14
    Par défaut
    eheh, tout marche, merci à vous pour vos réponses rapide ^^

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

Discussions similaires

  1. [XL-2007] Creation d'un fichier texte pour suivi modifications BD (Log)
    Par cathodique dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/08/2013, 16h57
  2. Ouvrir un fichier texte pour l'éditer
    Par BGass dans le forum Général Python
    Réponses: 8
    Dernier message: 20/11/2006, 11h31
  3. parser fichier texte pour avoir un doc html !!
    Par avogadro dans le forum Débuter
    Réponses: 4
    Dernier message: 30/03/2006, 16h12
  4. Réponses: 2
    Dernier message: 02/02/2006, 18h21
  5. fichier texte pour access
    Par NPP dans le forum Access
    Réponses: 2
    Dernier message: 03/01/2006, 17h18

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