Redirection des sorties sous DOS

Résolu
jogadyl Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
dubcek Messages postés 18789 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

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
ou regrouper les commandes entre ()
( cmd1
cmd2
cmd3 ) > NUL
1
NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
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
jogadyl Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
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
NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
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
jogadyl Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
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