Batch file 在启动时从批处理文件运行VB脚本
我有一个名为“bootstrap.bat”的批处理文件,它是这样的-Batch file 在启动时从批处理文件运行VB脚本,batch-file,vbscript,startup,Batch File,Vbscript,Startup,我有一个名为“bootstrap.bat”的批处理文件,它是这样的- @echo OFF @echo There is an error. wscript errorMail.vbs @echo Error Message sent 正如您所看到的,它调用的VB脚本只是发送一封电子邮件。VB脚本是- Set objEmail = CreateObject("CDO.Message") objEmail.From = "abcdmin@som.net" objEmail.To = "som.
@echo OFF
@echo There is an error.
wscript errorMail.vbs
@echo Error Message sent
正如您所看到的,它调用的VB脚本只是发送一封电子邮件。VB脚本是-
Set objEmail = CreateObject("CDO.Message")
objEmail.From = "abcdmin@som.net"
objEmail.To = "som.sarkar@som.net"
objEmail.Subject = "Error: Generation of Final report failed"
objEmail.Textbody = "There was an error in generating the Final report for the Test."
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
"mailhost.som.net"
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objEmail.Configuration.Fields.Update
objEmail.Send
当我从CMD手动运行“bootstrap.bat”时,VB脚本得到了正确的执行,邮件也得到了发送。但我有一个安装程序,它将在启动时运行'bootstrap.bat',但当时它没有执行VB脚本。我不确定是否需要更改任何其他内容来执行VB脚本 您可以尝试使用一个文件;而不是两个另存为.bat或.cmd:
还有一个。当批处理文件从启动时运行时,可能未测试默认文件夹不是存储批处理文件的文件夹,因此找不到vbscript文件。尝试使用wscript%~dp0errorMail.vbs或脚本的完整路径(如果在其他文件夹中),您也应该使用cscript而不是wscript。区别在于wscript会在调用echo时打开一个messagebox,cscript会在其中写入console.MC ND,谢谢,这很有效。请把你的答案写在这里,这样我就可以接受了。
echo off
:sub echo(off):exit sub
set off=""'&set off=&cscript /nologo /e:vbscript "%~f0" %*&exit /b %errorlevel%
:end sub
Set objEmail = CreateObject("CDO.Message")
objEmail.From = "abcdmin@som.net"
objEmail.To = "som.sarkar@som.net"
objEmail.Subject = "Error: Generation of Final report failed"
objEmail.Textbody = "There was an error in generating the Final report for the Test."
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
"mailhost.som.net"
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objEmail.Configuration.Fields.Update
objEmail.Send
WScript.Echo "Error Message sent"