variable batch bat batch-file email-integration dos

batch-file - command output to variable batch



Obtener STDOUT en una variable (2)

normalmente, solo usa el ciclo for para capturar la salida. vea aquí notas 4. (y busque en internet para más información)

Estoy usando sendemail en un archivo por lotes. Al final de enviar un correo electrónico responde con un mensaje de succes o error. Por ejemplo

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

¿Es posible capturar este mensaje en una variable para procesar?

Gracias


Sí, necesita ejecutar sendmail a través del ciclo for:

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

Después de esto, VAR se configurará en la última línea que envíe sendmail. A continuación, puede hacer el procesamiento en esa línea

for /f "tokens=5,* delims= " %%a in (%VAR%) do ( if "%%b"=="Email was sent successfully!" ( echo SUCCESS exit /b 0 ) else ( echo FAILURE exit /b 1 ) )