Redirection des sorties sous DOS

Résolu
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. Contributeur
    hello
    ou regrouper les commandes entre ()
    ( cmd1
    cmd2
    cmd3 ) > NUL
    1
    1. Modérateur
      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
      1. 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. Modérateur
          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
      2. 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