Partage
  • Partager sur Facebook
  • Partager sur Twitter

Copier des fichiers particulier en .bat

    21 mai 2021 à 11:05:27

    Bonjour a tous ;) 

    Je suis confronté a un Probleme dont j'ai de la peine a trouver une solution. 

    Je vous explique ce que je dois faire en Experant trouver une solution. 

    En effet j'ai fait un Code qui me permet de faire des Tests bien precis sur ma Machine. A la fin de chaque test il ce génere automatiquement des fichiers log ( Xml ).

    En fontion des Parametres de mon test, ce dernier ( Test en question ) peut durer des heures et générer plusieur Logfiles. 

    Bon actuelement j'aimerai copier les Fichiers ( Log ) qui ont été généré directement la fin de mon Test c a d dans l'interval ou mon test a duré 

    NB: je dois le faire avec un  .bat 

    Je vous remercie d'avance pour le temps que vous prendrez pour moi... En cas d'incompréhension, je vous laisse me poser des questions... Merci encore :D


    -
    Edité par QuenTin6 21 mai 2021 à 11:08:05

    • Partager sur Facebook
    • Partager sur Twitter
      21 mai 2021 à 11:48:58

      est-ce que dans ton code qui fait les tests, tu ne pourrais pas demander/indiquer l'emplacement final d'enregistrement des fichiers log que ton code créé  ?

      Sinon le .bat consisterai à lancer ton code suivi d'une commande de copie des fichiers (copy [chemin_fichiers_log]\*.xml [chemin_destination])

      -
      Edité par umfred 21 mai 2021 à 11:49:16

      • Partager sur Facebook
      • Partager sur Twitter
        21 mai 2021 à 11:59:38

        umfred a écrit:

        est-ce que dans ton code qui fait les tests, tu ne pourrais pas demander/indiquer l'emplacement final d'enregistrement des fichiers log que ton code créé  ?

        Sinon le .bat consisterai à lancer ton code suivi d'une commande de copie des fichiers (copy [chemin_fichiers_log]\*.xml [chemin_destination])

        -
        Edité par umfred il y a 4 minutes


        Merci pour ton intervention.  Effectievement je lance mon Code a Partir d'un .bat. 

        avec la commande copie, je copie tout le contenu du fichier avec \*.xml hors moi j'aimerais juste copier les xml qui ont été génerés pendant l'execution de mon Test 

        • Partager sur Facebook
        • Partager sur Twitter
          21 mai 2021 à 12:35:29

          qu'est-ce qui les différencient des autres ? nom des fichiers ? date des fichiers ?
          • Partager sur Facebook
          • Partager sur Twitter
            21 mai 2021 à 21:39:04

            umfred a écrit:

            qu'est-ce qui les différencient des autres ? nom des fichiers ? date des fichiers ?


            Juste le nom des fichiers.  il est generé automatiquement par le systeme

            EX:

            - logfile_19.04.2021_09.18.16.386.xml

            - logfile_19.04.2021_09.16.54.257.xml

            - logfile_19.04.2021_08.39.54.449.xml

            -
            Edité par QuenTin6 21 mai 2021 à 21:40:04

            • Partager sur Facebook
            • Partager sur Twitter
              22 mai 2021 à 22:18:53

              Peux tu te permettre de vider ton répertoire au début de ta série de tests?

              Si oui, la solution parait simple. À chaque début de test, vide ton répertoire de tests qui contient les logs au format XML.
              A la fin de ta série de tests, tu sauras que les log qui sont dans ton répertoire ont été générés durant ta dernière série de tests.

              Dans le cas où tu doit conserver les anciens log dans ton répertoire, je vois 3 solutions :

              1) La plus chiante, faire un timestamp (récupérer la date et l'heure) au début de ton test. Puis, à la fin de ton test,  comparer ton timestamp, avec celui que tu retrouve dans le nom de tous les log dispo dans ton répertorietes fichiers. La comparaison risque d'être très chiante à programmer ( en batch, n'en parlons pas. Mais un batch peut appeler du python ou du powershell , si vraiment ...)

              2) La deuxième, qui demande ne aucune logique à développer.

              Tu créé un répertoire, dans le quel tu déplace, le temps des tests, les anciens log. À la fin de ton tests, dans le répertoire utilisé pour stocker les logs ( celui d'origine) ne contient plus que les nouveau log. Copie les vers ton répertoire cible désiré. Puis remet les anciens log dans leur répertoire d'origine.

              Le défaut de cette méthode, c'est qu'à mesure que ta base de données de log grossira, le temps nécessaire augmentera pour les copies. Mais relativement simple à développer.

              Petit tips, pour des copies récursives, utilise xcopy, c'est du bonheur.

              3) La troisième solution , celle que je privilégierai. Avant de lancer ta session de tests, enregistres dans un tableau de string, tous les noms des fichiers .xml. À la fin de tes tests, refait la même chose, dans un nouveau tableau. Fais un "diff" entre les deux (compare les tableaux, de sorte à identifier les nouvelles valeurs). Les nouvelles valeurs, sont les noms des log créés lors de la dernière session de tests.

              Je fais aussi du tests, plus précisément des outils utilisés pour le test. Avec TestStand, ça te parle ? Bref, mes séquences utilisent des scripts. J'ai été confronté la semaine dernière à une problématique très similaire à la tiennte. La solution pour moi, a été de vider le répertoire à chaque démarrage d'un nouveau test. Et de récupérer les fichiers à la fin du test.

              Si dans ma session de tests, je devais jouer 5 tests différents, alors je ferais 5 fois l’étape où je purge le répertoire, et 5 fois je copierais dans un répertoire cible de mon choix.

              Ma version de TestStand ne me permet pas d'utiliser python directement. J'envoie une commande au terminal Windows (là où tourne le batch), pour qu'il me lance mon script python. Batch , c'est quand même imbuvable ...

              • Partager sur Facebook
              • Partager sur Twitter

              Rester une nuit éveillé, c'est ajouter un jour à sa vie.

              Stilgar, naib du dietch Tabr

                13 juillet 2021 à 16:42:51

                sinon comme le nom du fichier comporte la date et l'heure, tu peux voir pour faire un filtrage sur la date du jour et l'heure la plus proche.
                • Partager sur Facebook
                • Partager sur Twitter

                Copier des fichiers particulier en .bat

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown