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

Windows Discussion :

Dupliquer la sortie standard WINDOWS (.bat)


Sujet :

Windows

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 71
    Points : 33
    Points
    33
    Par défaut Dupliquer la sortie standard WINDOWS (.bat)
    Bonjour,

    Ma question est toute bête : "comment dupliquer la sortie standard en DOS?"

    C'est à dire comment faire l'équivalent d'un dup unix ???

    Ce que je veux faire est juste de garder mon affichage sortie standard et l'avoir en plus dans un fichier...

    je ne peux donc pas faire un truc du genre

    mon_fichier.txt < mon_bat.bat sinon je n'aurais plus d'affichage !!!


    Merci d'avance !

  2. #2
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Je sais pas si j'ai bien compris, tu veut renvoyer le résultat d'une commande dans un fichier.txt ? et aussi dans l'invite de commande ?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 71
    Points : 33
    Points
    33
    Par défaut oui
    oui voila exactement ...

    Je veux rediriger la sortie standard dans un fichier mais qu'elle s'affiche toujours dans les lignes de commandes ...

  4. #4
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Les deux a ma conaisance ce n'est pas possible, si non pour dirigé ver un fichier.txt il faut ajouter ceci deriére la commande:

  5. #5
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 71
    Points : 33
    Points
    33
    Par défaut oui, je sais
    Je sais bien qu'il faut mettre > pour une redirection, j'en veux deux !!!

    Je dois etre beaucoup trop exigeant... je vais voir pour faire autrement !!!

    Merci qd meme !

  6. #6
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Ben tu fait deux fois la commande, une foi avec et une foi sans la redirection, je ne voi pas d'autre solution

  7. #7
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 71
    Points : 33
    Points
    33
    Par défaut
    euh ... je sais pas trop si ca va etre possible !

    Mais je vais y penser !

  8. #8
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Je pense que la meilleure solution serait non pas l'équivalent de dup(), mais l'équivalent du programme tee.
    Un truc assez facile à pondre, mais tu dois aussi pouvoir le télécharger...

  9. #9
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Bonjour,
    Tu peux aussi utiliser tail out tail -f (c'est à dire : rediriger la sortie vers un fichier et afficher ce fichier en continu dès qu'il change).
    C'est une commande Unix mais il y a de nombreux utilitaires Windows ou console.

    Perso j'utilise celui qui est dans : http://unxutils.sourceforge.net/UnxUtils.zip
    parcequ'il marche très bien et utilise très peu de ressources.

    Ca marche bien mais attention au buffer d'écriture (si tu écris beaucoup dans le fichier ça va, sinon il faut faire un fflush pour que ce soit réellement écrit).

    C'est peut être redondant avec la réponse précédente (je connais pas 'tee').
    A+

  10. #10
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    tee fait exactement ce qui est demandé: Il duplique un flux vers un fichier.
    il prend un nom de fichier en argument, puis tout ce qu'il reçoit sur l'entrée standard est écrit à la fois sur le fichier et la sortie standard.

    En fait, son code doit ressembler à ceci en plus beau (ou en pire) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    int main(int argc, char *argv)
    {
    	FILE *pfOut = fopen(argv[1], "w");
    	int c;
    	while((c=fgetc(stdin)) != EOF)
    	{
    		fputc(c, stdout);
    		fputc(c, pfOut);
    	}
    	fclose(pfOut);
    	return 0;
    }

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/03/2013, 10h02
  2. Réponses: 13
    Dernier message: 17/11/2011, 00h39
  3. firefox avec sortie standard sous windows
    Par ____22 dans le forum Firefox
    Réponses: 1
    Dernier message: 28/08/2011, 19h04
  4. Réponses: 5
    Dernier message: 24/12/2003, 09h49
  5. Réponses: 16
    Dernier message: 18/07/2003, 17h16

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