这可能很简单。 但它只是不为我工作。
我有一个.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) ...