使用ApacheWebServer从Python CGI文件运行.bat文件
这可能真的很容易。但这对我来说并不管用 我有一个.bat文件要运行,它在服务器上执行一些操作,并且应该发送一封带有附件的电子邮件 .bat文件工作正常,它发送带有日志和所有内容的电子邮件 现在我想从Web服务器运行该文件。这样我就可以点击HTML表单按钮,它就会执行 我已经为它安装了Apache、Python 2.7 我已经将Apache配置为允许使用cgi文件,当我使用下面的代码将文件设置为index.py时,它就可以工作了 但是当我按下Submit按钮时,它会通过,但是.bat文件没有被执行。救命!:) 是否有其他方法可以从Web服务器运行.bat文件在我的服务器上执行操作?事先谢谢你 我尝试了表单中的操作以指向.py和.cgi文件。。。不要让它工作 下面是我一直在使用的代码使用ApacheWebServer从Python CGI文件运行.bat文件,python,windows,apache,batch-file,Python,Windows,Apache,Batch File,这可能真的很容易。但这对我来说并不管用 我有一个.bat文件要运行,它在服务器上执行一些操作,并且应该发送一封带有附件的电子邮件 .bat文件工作正常,它发送带有日志和所有内容的电子邮件 现在我想从Web服务器运行该文件。这样我就可以点击HTML表单按钮,它就会执行 我已经为它安装了Apache、Python 2.7 我已经将Apache配置为允许使用cgi文件,当我使用下面的代码将文件设置为index.py时,它就可以工作了 但是当我按下Submit按钮时,它会通过,但是.bat文件没有被执行
#!/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>"
您可以使用
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)
...
...
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)
...