output entrambi stderr e stdout al file e solo stderr al prompt dei comandi

Quando il mio script batch viene eseguito, voglio che gli eventuali errori venissero visualizzati sul prompt dei comandi, in modo che l'utente lo veda immediatamente, mentre sopprime tutte le uscite standard che si presentano.

Ma voglio che tutto venga pubblicato in un file di registro. Come faccio a fare questo?

In altre parole,

+---------+ | | --- stderr ---------> Console | Program | | | --- stdout/err -----> Log file +---------+ 

Ci sono varie versioni di tee che possono essere scaricate (o create con VBS o JScript) e potreste redirect lo stderr a stdout e pipolar tutto attraverso il tee. Ma allora avresti entrambi stdout e stderr sia per la console che per il file.

Credo che sia imansible submit entrambi a un file, ma submit selettivamente lo stderr alla console, a less che non vi sia qualcosa di speciale nel contenuto di tutti gli errori che potrebbero essere utilizzati per identificare un errore. Dubito che ci sia un identificativo unico e coerente per gli errori, ma se c'è, la soluzione potrebbe sembrare qualcosa di simile:

 yourScript 2>&1 | tee output.log | find "Error:" 

Se non hai tee :

 yourScript 2>&1 > output.log & type output.log | find "Error:"