Rediriger stderr stdout dans fichier pour plusieurs commande

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Répondre
Fylhan
Batcheur occasionnel
Messages : 2
Enregistré le : 30 juin 2010 17:29

Rediriger stderr stdout dans fichier pour plusieurs commande

Message par Fylhan »

Bonjour,

Je cherche à rediriger les sorties stderr et stdout vers un fichier pour plusieurs commandes dos. Je m'explique :

- J'arrive à rediriger stderr et stdout pour une commande :

Code : Tout sélectionner

del fichierTest >> log.trace 2>&1
- J'arrive à rediriger stderr et stdour pour plusieurs commande MAIS à condition que celles-ci ne renvoie pas de paranthèses

Code : Tout sélectionner

(del fichierTest1
echo Coucou
del fichierTest2) >> log.trace 2>&1
Le problème est que dans mon cas le résultat de mes commandes renvoie presque toujours des parenthèses. Donc ça bug. (et je me demande s'il n'y a pas autres choses que les parenthèses qui font bugger)


J'ai trouvé le script suivant en shell Unix qui fait ce que je souhaite :

Code : Tout sélectionner

exec 3>&1     # "sauvegarder" stdout
exec 4>&2     # "sauvegarder" stderr
exec 1>>monfichier.trace      #rediriger stdout vers ton fichier
exec 2>>monfichier.trace      #rediriger stderr vers ton fichier
# exécuter tes commandes
rm foo
echo bar
rm baz
exec 1>&3 # restaurer la "valeur" de stdout
exec 2>&4 # restaurer la "valeur" de stderr
exec 3>&- # fermer le FD 3
exec 4>&- # fermer le FD 4
Super, mais malgrè toutes mes tentatives, impossible de faire fonctionner les commandes exec ... sous DOS.

Ma question est donc :
- Comment transformer ce script sheel unix en DOS ?
- OU : comment faire autrement ?
- ET en bonus : si quelqu'un a une idée pour que le résultat s'affiche aussi sur la sortie standard stdout, ce serait parfait.

Merci beaucoup d'avance !
Répondre