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.
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
-
Contributeurhello
ou regrouper les commandes entre ()( cmd1
cmd2
cmd3 ) > NUL -
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. -
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 -
ModérateurSauf 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.