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 : Sélectionner tout - Visualiser dans une fenêtre à part
del fichierTest >> log.trace 2>&1
- J'arrive à rediriger stderr et stdour pour plusieurs commande MAIS à condition que celles-ci ne renvoie pas de parenthèses
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
(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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
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 !