[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 求助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: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%
复制代码
bat小白,请多指教!谢谢!

TOP

先按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
复制代码

QQ 20147578

TOP

返回列表