Redirection des sorties sous DOS

Résolu/Fermé
jogadyl Messages postés 14 Date d'inscription dimanche 3 mai 2015 Statut Membre Dernière intervention 17 mai 2015 - 3 mai 2015 à 11:38
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 4 mai 2015 à 08:48
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 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
4 mai 2015 à 08:48
hello
ou regrouper les commandes entre ()
( cmd1
cmd2
cmd3 ) > NUL
1
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 330
3 mai 2015 à 12:57
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 dimanche 3 mai 2015 Statut Membre Dernière intervention 17 mai 2015
3 mai 2015 à 14:08
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 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 330
3 mai 2015 à 19:18
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 dimanche 3 mai 2015 Statut Membre Dernière intervention 17 mai 2015
3 mai 2015 à 22:22
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