问题
Im using sendemail in a batch file. At the end of sending an email it replys with a message of succses or failure. For example
Jan 10 00:46:54 villa sendemail[456]: Email was sent successfully!
Is it possible to capture this message into a variable for processing?
Thx
回答1:
Yes, you need to execute sendmail through the for loop:
for /f "tokens=*" %%a in ('[sendmail command line]') do (
set VAR=%%a
)
After this runs, VAR will be set to the last line that sendmail output. You can then do processing on that line
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
)
)
回答2:
normally, you just use the for loop to capture the output. see here notes 4. (and search internet for more)
来源:https://stackoverflow.com/questions/2033338/get-stdout-into-a-variable