从 CMD 导航到文件夹和 运行 sendEmail

Navigate to folder and run sendEmail from CMD

我正在为我的自动化测试构建一个简单的电子邮件报告系统(在 Katalon Studio 中)。

当测试失败时,使用 sendEmail 发送电子邮件。

    if (GlobalVariable.testSuiteStatus=='FAILED'){
      String bf = RunConfiguration.getProjectDir() + '/' + 'email.bat'
      Process p = Runtime.getRuntime().exec(bf)
    }

Email.bat 包含:

cmd /c start cmd /k cd c:\Program Files\sendEmail-v156
sendEmail.exe -f sender@email.com -t receiver@email.com -s smtp.server.com:587 -xu myUsername -xp myPassword -m 'Test report text'

每次这是 运行(或者当我双击 bat 文件时),只有第一行被执行。

那么,我怎样才能让它发挥作用?

你告诉 cmd 再次打开 cmd cd,这是它在新的 window 中所做的。当你退出新的 window 时,它会尝试并从启动批处理文件的工作目录处理 sendmail。相反,只需尝试 cd /d 而不使用 cmd /c/k 和 运行 直接来自批处理的可执行文件:

@echo off
cd /d  "c:\Program Files\sendEmail-v156"
start "" /wait sendEmail.exe -f sender@email.com -t receiver@email.com -s smtp.server.com:587 -xu myUsername -xp myPassword -m 'Test report text'