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

Scripts/Batch Discussion :

Enregistrer la sortie standard dans un fichier


Sujet :

Scripts/Batch

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut Enregistrer la sortie standard dans un fichier
    Bonjour,

    connaîtriez-vous un moyen de rediriger l'affichage de l'invite de commande dans un fichier tout en gardant, simultanément, l'affichage dans l'invite de commande?

    Le but est donc de pouvoir voir l'exécution d'un programme dans un terminal mais de garder une trace de tous les affichages dans un fichier.


    Merci.

  2. #2
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    salut,

    cherches du côté de la commande tee.exe de unxutils

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Le problème de cette commande est que l'affichage dans le terminal ne se fait pas en temps réel mais bien à la fin de l'exécution.

    Ou bien y-a-t-il un moyen de contourner cela en rafraîchissant de temps en temps par exemple?

  4. #4
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 84
    Points : 86
    Points
    86
    Par défaut
    Tu peux faire un double echo.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ECHO Début commande
    ECHO Début commande >> nomdufichier.txt
    Attention si tu mets une commande dos, tu n'auras pas la commande en elle même mais son résultat.

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Merci mais je ne comprends pas.
    Que représente "Début"?
    En quoi faire un ECHO résout-il mon problème?

  6. #6
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 84
    Points : 86
    Points
    86
    Par défaut
    Commande est juste là pour te montrer ce que tu peux faire.
    Comme afficher à l'écran ta futur commande et ensuite l'excuter et enregistrer dans un fichier texte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ECHO text >> nomfichier.txt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Commande >> nomfichier.txt
    les >> sont là pour dire que le text et/ou la commande sont ajouter à ton fichier.

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Si je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ECHO nom_de_ma_commande
    alors nom_de_ma_commande s'affichera dans le terminal.


    Si je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ECHO nom_de_ma_commande >> fichier.log
    alors nom_de_ma_commande s'affichera dans fichier.log.


    Le lancement de ma commande déclenche une suite d'affichages dans le terminal, ce qui prend du temps puisque mon programme fait appel au solver GLPK. Ce que j'aimerais c'est garder cet affichage dans le terminal mais en TEMPS RÉEL et garder en même temps une trace dans un fichier.

    Sais-tu si c'est possible?

  8. #8
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 84
    Points : 86
    Points
    86
    Par défaut
    suis-je bête désolé...
    Je me suis emporté, evidement, ECHO + commande affiche la commande.
    Ca c'est bon pour toi si tu veux savoir ce que tu as lancé en soumarin vers ton fichier et là je suis gourrer mais on m'a pas repris je vais rectifier ca fait con lol!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Commande >> nomdufichiertexte
    Mettra dans ton fichier texte le résultat de la commande. Après si tu veux voir ce que tu lances et envoie dans ton fichier la oui tu te servira de la commande echo.

    Par contre si tu veux afficher en plus donc la commande complète à ton ecran ben tu la rente simplement sans rien derrière. Désolé pour la bourde

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Donc il n'est pas possible de voir l'exécution de mon programme en temps réel dans le terminal tout en enregistrant la sortie dans un fichier?

  10. #10
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 84
    Points : 86
    Points
    86
    Par défaut
    Non du moins j'en connais pas. Si tu procède ainsi, soit tu affiche juste la commande, soit la commande complète. Cependant pour certaine commande comme un ping, tu n'auras peut etre pas les mêmes valeurs entre ton fichier et l'affichage dans le terminal. A la rigueur on doit pouvoir faire une barre de progression, faudrait voir du côté de start, avec une boucle et une actualisation de barre.

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Je n'ai aucun moyen de connaître le temps d'exécution du programme donc c'est râté pour la barre de progression.

    En tout cas merci beaucoup.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Points : 60
    Points
    60
    Par défaut
    Je ne vois pas pourquoi vous mettez tous ECHO pour afficher le résultat d'une commande...

    En mettant

    ça enregistre le résultat de "DIR C:\" dans le fichier C:\log.txt

    et si tu mets

    Alors ça affiche le contenu du resultat, donc, le résultat de "DIR C:\"

    Bonne chance à toi !

  13. #13
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    C'est exact.
    Merci pour ces indications mais le but n'était pas de faire un affichage ou une redirection quelconque, l'usage de ECHO était une erreur.
    Je pense finalement qu'on peut dire qu'il n'est pas possible d'avoir un affichage en temps réel et un enregistrement de la sortie dans un fichier, en tout cas pas en ligne de commande.

  14. #14
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 84
    Points : 86
    Points
    86
    Par défaut
    Citation Envoyé par astrofan Voir le message
    Je ne vois pas pourquoi vous mettez tous ECHO pour afficher le résultat d'une commande...

    En mettant

    ça enregistre le résultat de "DIR C:\" dans le fichier C:\log.txt

    et si tu mets

    Alors ça affiche le contenu du resultat, donc, le résultat de "DIR C:\"

    Bonne chance à toi !
    Merci de me reprendre, mais je m'étais auto repris en voyant que ce que j'avais écris était ambigue. J'ai donc spécifié que pour afficher juste la commande pas le résultat, ECHO servait bien mais effectivement pas besoin d'echo pour afficher le résultat.
    Pour Type c'est bien, ca marchera mais y aura un décalage entre l'action de la commande dans le fichier et l'affichage mais là je pense que c'est ca ou rien.

Discussions similaires

  1. rediriger la sortie standard dans un fichier
    Par madidy dans le forum MATLAB
    Réponses: 1
    Dernier message: 05/05/2010, 15h37
  2. Réponses: 0
    Dernier message: 13/03/2008, 10h10
  3. Réponses: 10
    Dernier message: 16/12/2004, 15h23
  4. Réponses: 11
    Dernier message: 13/10/2004, 00h58

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