Redirection des sorties sous DOS

Résolu
jogadyl Messages postés 14 Statut Membre -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Dans un fichier batch, je voudrais rediriger globalement toutes les sorties vers le fichier NUL.
Je sais le faire pour une commande sur une ligne particulière avec l'opérateur ">".

Ce que je voudrais c'est indiquer une bonne fois pour toutes que toutes les sorties doivent se faire ainsi sans être obligé de modifier toutes les commandes (il y en a pas mal) qui pourraient vouloir écrire sur l'écran.

En résumé je voudrais pouvoir redéfinir les fichiers de sortie (équivalents de stdout et stderr).

Je vous remercie pour votre aide.

4 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    hello
    ou regrouper les commandes entre ()
    ( cmd1
    cmd2
    cmd3 ) > NUL
    1
  2. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
     
    Sauf erreur, je crois que c'est :
    1>nul 2>nul
    1 stdout, 2 stderr

    Ensuite, tu peux mettre tes commandes dans un batch et c'est ce batch qui sere redirigé en sortie.
    0
  3. jogadyl Messages postés 14 Statut Membre
     
    Merci pour ta réponse.

    Malheureusement ça ne fonctionne pas. :(
    On peut effectivement rajouter 1>nul 2>nul à la suite d'une commande
    ex:
    copy travail\*.tex sauve\ 1>nul 2>nul

    Ça, je savais le faire.
    Mais il faut répéter cette syntaxe pour toutes les lignes qui peuvent écrire sur l'écran.

    Ce que je veux c'est une commande à mettre au début du batch et qui redirige automatiquement stdout et stderr sans avoir à faire suivre chaque ligne de 1>nul 2>nul
    0
    1. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
       
      A ma connaissance ça n'existe pas, mais en utilisa,nt un batch qui en appel un autre en redirigeant les sorties, c'est faisable.
      0
  4. jogadyl Messages postés 14 Statut Membre
     
    Ah oui !
    J'ai compris la manoeuvre.
    C'est un peu tordu, mais ça fonctionne.

    En reprenant l'idée je peux l'appliquer à une routine qui se trouve dans le même fichier batch.
    ex:
    @echo off
    call :ecriture > sortie.txt
    goto :eof
    rem --- fin du programme principal

    rem programme appelé et redirige
    :ecriture
    echo cette routine
    echo veut ecrire sur l'ecran
    echo mais c'est redirige
    echo par le programme principal

    Merci !
    Le problème est résolu.
    0