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 :

Capturer Stderr dans variable et laisser le StdOut a l'ecran [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 47
    Par défaut Capturer Stderr dans variable et laisser le StdOut a l'ecran
    Bonjour ,

    Je cherche a recuperer le StdErr d'une commande dans une variable (sans passer par un fichier temporaire) en laissant le StdOut s'afficher normalement.
    J'utilise une boucle For pour se faire.
    J'arrive bien a rediriger le StdErr sur le StdOut mais au final ce n'est pas le resultat desiré.
    Voici le code en question :
    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for /f "tokens=*" %%i in ('monappli.exe /parametre 2^>^&1') do (
    set Msg=%%i
    echo !Msg!
    )
    La Variable Msg contient bien les 2 sorties.
    Maintenant ce que je voudrais c'est catcher uniquement le StdErr et laisser le StdOUt sortie sur la console comme si la commande etait entrée hors de la boucle.

    Est ce possible ?
    Avez vous une piste pour faire cela ?
    Merci a vous.

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Le flux 1 est affiché
    C:\>dir "c:\System Volume Information" 2>nul
    Le volume dans le lecteur C s'appelle Windows
    Le numéro de série du volume est E629-FD78

    Répertoire de c:\System Volume Information
    Le flux 2 est affiché
    C:\>dir "c:\System Volume Information" 1>nul
    Fichier introuvable
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    @echo off
    for /f "tokens=*" %%i in ('dir "c:\System Volume Information" 2^>^&1 1^>con:') do (
    echo #%%i#
    )
    pause

    La sortie
    Le volume dans le lecteur C s'appelle Windows
    Le numéro de série du volume est E629-FD78

    Répertoire de c:\System Volume Information

    #Fichier introuvable#
    Appuyez sur une touche pour continuer...
    La sortir stdout est bien affiché à l'écran et stderr à été attrapé pour un traitement (affichage entouré de #)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/02/2005, 15h48
  2. Rediriger STDERR dans un fichier
    Par LeBigornot dans le forum C
    Réponses: 5
    Dernier message: 27/01/2005, 12h49
  3. resultat requete SQL d'un select dans variable vb
    Par seb_06 dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 11/10/2004, 16h29
  4. Récupérer l'adresse IP du serveur dans variable ?
    Par ZERS dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 08/09/2004, 15h30
  5. [C#] Capture écran dans pictureBox
    Par Gauden dans le forum Windows Forms
    Réponses: 5
    Dernier message: 05/05/2004, 10h18

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