2010-01-09 7 views
6

Im mit sendemail in einer Batch-Datei. Am Ende des Sendens einer E-Mail antwortet er mit einer Nachricht von Erfolg oder Misserfolg. Zum BeispielGet STDOUT in eine Variable

Jan 10 00:46:54 villa sendemail[456]: Email was sent successfully! 

Ist es möglich, diese Nachricht in eine Variable für die Verarbeitung zu erfassen?

Thx

Antwort

-1

Normalerweise verwenden Sie nur die for-Schleife, um den Ausgang zu erfassen. siehe here Notizen 4. (und die Suche Internet für weitere Informationen)

11

Ja, Sie müssen durch die for-Schleife send auszuführen:

for /f "tokens=*" %%a in ('[sendmail command line]') do (
    set VAR=%%a 
) 

Danach läuft, wird VAR auf die letzte Zeile gesetzt werden, der Ausgang sendmail . Sie können dann die Verarbeitung auf dieser Linie

+3

machen Hinweis an mich selbst: Suche nach solchen Dingen auf Stackoverflow statt google. –

+0

was ist mit einer Befehlszeile wie 'strings% 1 -t d | grep -e "[0-9] \ {1,3 \}" '? (tihs mit unxutils, aber möglicherweise mit Windows-only-Programmen) – n611x007