PDA

View Full Version : [Batch]Redirezionamento dello standard error


23Andrea
24-04-2015, 16:08
Ciao.
E' possibile redirezionare su un file di testo lo standard error di un comando inserito nel gruppo di un ciclo FOR?
Per esempio, in questa riga:
@FOR /f "usebackq tokens=2,*" %%E IN (`FINDSTR /b /c:"> >" Ricerca2.tmp`) DO @(
è possibile redirezionare l'eventuale standard error del comando FINDSTR?
Grazie.

Daniels118
27-04-2015, 13:12
In generale, per redirigere uno stream specifico bisogna anteporre al simbolo di redirezione il file descriptor dello stream, che per gli standard input/output/error è sempre rispettivamente 0/1/2.
Per esempio:
comando parametri >output.txt 2>errori.txt

23Andrea
03-05-2015, 17:33
Beh, sì, questa è teoria...ma io ho un problema pratico.
Se scrivo al prompt
FINDSTR /b /c:"> >" Ricerca2.tmp
e il file Ricerca2.tmp non esiste, il comando restituisce un messaggio di errore:
FINDSTR: Impossibile aprire Ricerca2.tmp
che posso redirezionare su un file di log, così:
FINDSTR /b /c:"> >" Ricerca2.tmp 2>errore.txt

Ma se lo stesso comando è inserito in un ciclo FOR (come nell'esempio del mio primo post) il messaggio di errore viene visualizzato sulla consolle, ma non riesco a redirezionarlo su un file.