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éer des Fichiers log pour la copie de données


Sujet :

VBScript

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 70
    Points : 54
    Points
    54
    Par défaut Créer des Fichiers log pour la copie de données
    Salut brave gens^^, je fais appel à vous en espérant trouver un peu d’aide

    Voilà j’aimerais faire un script qui copie tous les fichiers se trouvant dans un dossier situé emplacement A vers un emplacement B, si un fichier existe déjà ne rien faire, et surtout j’aimerais avoir un fichier log pour savoir si la copie s’est bien passé!
    Avant chaque copie je lance un test de Ping
    Voilà ce que j’ai fais pour l’instant (je test si la machine est joignable avec un ping si pas ok j’écris dans un fichier log et sinon si le test est bon je copie les fichiers mais sans vérifier l’existence des fichiers)
    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
     
     
    Dim FSO
    Set FSO = CreateObject("Scripting.FileSystemObject")
    strMachines = "192.168.70.123"
    aMachines = split(strMachines, ";")
    Set objFichier=CreateObject("Scripting.FileSystemObject")
    Set MyFile= objFichier.OpenTextFile("C:\Test\test-log.txt", 8,true)
     
        For Each machine in aMachines
            Set objPing = GetObject("winmgmts:  {impersonationLevel=impersonate}")._
                ExecQuery("select * from Win32_PingStatus where address = '"_
                    & machine & "'")
            For Each objStatus in objPing 'si le test du ping n'est pas bon je ne fais j'ecris dans le fichier log
                If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then
                    Myfile.WriteLine date & "-" & time & " Machine " & machine & " non joignable"
                Else ' si le test du ping est ok copier les élements
    				FSO.CopyFile "C:\Documents and Settings\MarieC\Desktop\Meusures\*", "\\@serveur\D$\Backup\Meusures"
    			end If
            Next
        Next
    MyFile.Close
    WScript.Quit
    Je ne sais pas comment faire pour savoir si la copie c’est bien passé ou pas
    Je ne sais pas comment vérifier avant la copie l’existence des fichiers, j’ai testé des trucs trouvé sur des forums mais sans succès

    Pouvez-vous m’aidez svp ?
    Merci d’avance

  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 : 43
    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
    Comment tester l'existence d'un fichier ?

    Qu'est ce que tu entends exactement par :
    Je ne sais pas comment faire pour savoir si la copie c’est bien passé ou pas
    Est ce que par exemple tester l'existence du fichier après la copie est suffisant ?

    Regades aussi les autres exemples du lien que je t'ai passé comme:
    Comment obtenir des informations sur fichier ?

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 70
    Points : 54
    Points
    54
    Par défaut
    En fait ce que je voulais dire c’est que lorsque je copie des fichiers d’un emplacement vers un autre, comment savoir si jamais à un moment ou un autre la copie ne se termine pas ou ne marche pas tous simplement
    Je suppose qu’il y a un code de retour ? Comme pour la fonction ping par exemple
    Bref, avoir un fichier de log pour les copies effectués (ou pas)

  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 : 43
    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
    Sur le site MSDN tu as un descriptif de la méthode CopyFile:
    http://msdn.microsoft.com/en-us/libr...7w(VS.85).aspx

    FileSystemObject.CopyFile "c:\mydocuments\*\R1???97.xls", "c:\tempfolder"
    If source contains wildcard characters or destination ends with a path separator (\), it is assumed that destination is an existing folder in which to copy matching files. Otherwise, destination is assumed to be the name of a file to create. In either case, three things can happen when an individual file is copied.

    If destination does not exist, source gets copied. This is the usual case.

    If destination is an existing file, an error occurs if overwrite is false. Otherwise, an attempt is made to copy source over the existing file.

    If destination is a directory, an error occurs.

    An error also occurs if a source using wildcard characters doesn't match any files. The CopyFile method stops on the first error it encounters. No attempt is made to roll back or undo any changes made before an error occurs.
    En VBS, les erreurs sont stockés dans l'objet Err.
    Il possède différente méthode du genre Number ou Description.
    Number = 0 quand il n'y a pas d'erreur.
    Un petit exemple:
    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
    If err.number <> 0 Then
         wscript.echo "*************"
         wscript.echo "*************"
         wscript.echo "* Erreur !!! *"
         wscript.echo "*************"
         wscript.echo "*************"
         wscript.echo " "
         wscript.echo " "
         wscript.echo " "
         wscript.echo "****************"
         wscript.echo "* Numéro = " & err.number & " *"
         wscript.echo "****************"
         wscript.echo " "
         wscript.echo " "
         wscript.echo "**************"
         wscript.echo "* Description *"
         wscript.echo "**************"
         wscript.echo " "
         wscript.echo err.description
         wscript.echo " "
         wscript.echo " "
    End If

Discussions similaires

  1. Créer des fichiers log pour les pages web visitées hors ligne
    Par AprilD dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 23/03/2008, 22h01
  2. Des logiciels pour l'analyse des fichiers log
    Par maya dans le forum Réseau
    Réponses: 3
    Dernier message: 14/04/2007, 22h27
  3. Compiler pour créer des fichiers ROM Z80
    Par malem09 dans le forum Pascal
    Réponses: 7
    Dernier message: 18/02/2007, 09h22
  4. Programme pour créer des fichiers
    Par gaara dans le forum C
    Réponses: 32
    Dernier message: 15/10/2006, 17h53
  5. [CR] Version nécessaire pour créer des fichiers DSR ?
    Par aysse dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 17/11/2003, 09h01

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