从 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'
我正在为我的自动化测试构建一个简单的电子邮件报告系统(在 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'