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. 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
      1. Contributeur
        hello
        ou regrouper les commandes entre ()
        ( cmd1
        cmd2
        cmd3 ) > NUL
        1