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 -
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.
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
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.
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.
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
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
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:
Merci !
Le problème est résolu.
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.