我在批处理文件中使用sendemail。在发送电子邮件结束时,它会回复一个简短或失败的消息。例如
Jan 10 00:46:54 villa sendemail[456]: Email was sent successfully!
是否可以将此消息捕获到变量中进行处理?
THX
答案 0 :(得分:11)
是的,您需要通过for循环执行sendmail:
for /f "tokens=*" %%a in ('[sendmail command line]') do (
set VAR=%%a
)
此次运行后,VAR将设置为sendmail输出的最后一行。然后,您可以在该行上进行处理
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
)
)
答案 1 :(得分:-1)
通常,您只需使用for循环来捕获输出。请参阅here备注4.(并在互联网上搜索更多内容)