Partage
  • Partager sur Facebook
  • Partager sur Twitter

Batch : afficher le résultat dans la console + txt

    9 février 2024 à 11:19:04

    Bonjour,

    J'aurais une question toute bête que je n'arrive pas à résoudre, comment afficher le résultat d'un batch dans la console et dans un fichier txt.

    Imaginons que j'ai cette commande :

    del %temp%\*.*/s/q >> %userprofile%\Desktop\resultat.txt

    Le résultat ira bien dans le fichier resultat.txt mais comment est ce que je peux faire pour également l'afficher dans la console ? En effet de cette façon rien ne s'affichera dans la console. J'ai tenté avec  | tee sans succès, j'ai cru comprendre que c'était sous linux, moi je suis sous windows.

    J'aimerais éviter la solution de contournement de  lire le fichier txt dans la console, je veux simplement que le résultat soit afficher comme si j'avais simplement fait :

    del %temp%\*.*/s/q

     Mais que en parallèle le résultat soit inscrit dans le fichier txt.


    D'avance merci,


    Belle journée à vous :)

    -
    Edité par CorentinJoubert1 9 février 2024 à 11:23:46

    • Partager sur Facebook
    • Partager sur Twitter
      9 février 2024 à 19:23:43

      Bonsoir,

      Pas vraiment possible nativement. Le mieux est pour moi de lire le fichier.

      Voici un sujet qui en parle : https://stackoverflow.com/questions/503846/how-do-i-echo-and-send-console-output-to-a-file-in-a-bat-script

      • Partager sur Facebook
      • Partager sur Twitter
        10 février 2024 à 10:05:48

        Bonjour,

        La commande del ne permet pas de faire cela, mais en Powershell avec Remove-Item, ça devrait en collaboration avec Tee-Object.

        • Partager sur Facebook
        • Partager sur Twitter

        Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
        La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

          11 février 2024 à 21:18:13

          Merci pour vos retours, est ce que peux être une solution alternative est envisageable en copiant collant la console dans un fichier texte après un ensemble de commande ? Je veux dire de façon automatique directement depuis le script, pas que l'utilisateur doivent faire un copier coller.
          • Partager sur Facebook
          • Partager sur Twitter
            12 février 2024 à 17:18:45

            une autre alternative pourrait être d'afficher le fichier texte à la fin du script en rajoutant à la fin

            notepad %userprofile%\Desktop\resultat.txt

            NB: dans le lien donné par Zaibai, dans une réponse, il y a un lien pour télécharger une version windows de Tee (au cas où)

            • Partager sur Facebook
            • Partager sur Twitter
              12 février 2024 à 22:43:32

              Merci pour vos retours, effectivement la meilleure solution semble être de lire le fichier txt dans la console après enregistrement ou bien de basculer en PowerShell. Le seul hic avec la lecture du fichier txt est que, du coup, si une commande met du temps à se lancer, par exemple avec SFC SCANNOW, l'utilisateur peut avoir l'impression que la commande est bloquée si le fichier est lu après son exécution. Après plusieurs recherches et même en demandant à ChatGPT, il n'y a pas vraiment de solution à cette problématique (qui n'en est pas réellement une puisque les commandes se lancent bien malgré tout). C'était simplement pour chercher à améliorer mon script. Si quelqu'un a une idée alternative, je garde le sujet ouvert au cas où. Merci à tous pour votre temps :)

              -
              Edité par CorentinJoubert1 12 février 2024 à 22:52:53

              • Partager sur Facebook
              • Partager sur Twitter

              Batch : afficher le résultat dans la console + txt

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              • Editeur
              • Markdown