使用Apache Webserver从Python CGI文件运行.bat文件

这可能很简单。 但它只是不为我工作。

我有一个.bat文件,我想运行,在服务器上执行的东西,并应发送一个附件的电子邮件。

.bat文件工作正常,它发送电子邮件与日志和一切。

现在我想从Web服务器运行该文件。 所以我可以点击一个HTML表单button,然后执行。

我已经为它安装了Apache,Python 2.7。

我已经configurationApache来允许cgi文件,并且当我用下面的代码将一个文件作为index.py时,它就可以工作。

但是当我按提交button它通过,但.bat文件没有被执行。 帮帮我! 🙂

有没有另一种方式,我可以运行一个.bat文件来做我的服务器上的东西从Web服务器也许? 预先感谢你。

我试图在表单中的行动来指导一个.py和.cgi文件…不要让它工作

下面的代码我一直在使用。

#!/Python27/python #!/usr/bin/env python import cgi import cgitb; cgitb.enable() print "Content-type: text/html" print print "<html><head>" print "<form action='../cgi-bin/send_email.py'>" print "<input type='submit' value='Submit'>" print "</form>" 

send_email.py看起来像这样。

 #!/Python27/python #!/usr/bin/env python import cgi import cgitb; cgitb.enable() from subprocess import Popen p = Popen("batch.bat", cwd=r"C:\Path\to\batchfolder") stdout, stderr = p.communicate() 

您可以使用cmd.exe调用批处理文件:

 ... cmd = r'c:\Windows\System32\cmd.exe' batDir = r'C:\Path\to\batchfolder' batName = r'batch.bat' p = Popen(r"{0} /C {1}\{2}".format(cmd,batDir,batName), cwd=batDir) ...