Board logo

标题: [其他] 求助BAT脚本执行流程问题 [打印本页]

作者: whb6758    时间: 2023-6-9 14:27     标题: 求助BAT脚本执行流程问题

大佬们,我想用另一个脚本call如下脚本时带一个参数,通过判断这个参数去执行发邮件的动作,目前脚本运行有问题,始终不能按照参数发出邮件,但单独执行下面两个标签发邮件的动作能够发出邮件,请各位大神指点一下,谢谢。
  1. @echo off
  2. set from=xxx@163.com
  3. set user=xxx@163.com
  4. set pass=abcdpassword
  5. set to=xxxx@qq.com
  6. set server=smtp.163.com
  7. set subj0=步骤1
  8. set subj1=步骤2
  9. set mail0=%date:~,10% %time:~,8% 服务器执行了步骤1
  10. set mail1=%date:~,10% %time:~,8% 服务器执行了步骤2
  11. if "%1"=="1" goto step1_restart
  12. if "%1"=="2" goto step2_restart
  13. pause
  14. exit
  15. :step1_restart
  16. sendEmail -f %from% -t %to% -s %server% -u %subj0% -o message-content-type=text -o message-charset=GB2312 -xu %user% -xp %pass% -m %mail0%
  17. echo system_restart
  18. :step2_restart
  19. sendEmail -f %from% -t %to% -s %server% -u %subj1% -o message-content-type=text -o message-charset=GB2312 -xu %user% -xp %pass% -m %mail1%
复制代码

作者: 77七    时间: 2023-6-9 15:19

本帖最后由 77七 于 2023-6-9 15:21 编辑

在两个sendEmail 行添加 echo和空格。用实际数据执行,观察下变量值是否正确。
  1. echo sendEmail -f %from% -t %to% -s %server% -u %subj0% -o message-content-type=text -o message-charset=GB2312 -xu %user% -xp %pass% -m %mail0%
复制代码

作者: czjt1234    时间: 2023-6-9 15:30

先按2楼做

如果参数值都正确
那么加上 goto :eof 试试
  1. :step1_restart
  2. sendEmail -f %from% -t %to% -s %server% -u %subj0% -o message-content-type=text -o message-charset=GB2312 -xu %user% -xp %pass% -m %mail0%
  3. echo system_restart
  4. goto :eof
  5. :step2_restart
  6. sendEmail -f %from% -t %to% -s %server% -u %subj1% -o message-content-type=text -o message-charset=GB2312 -xu %user% -xp %pass% -m %mail1%
  7. goto :eof
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2