Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ApacheWebServer从Python CGI文件运行.bat文件_Python_Windows_Apache_Batch File - Fatal编程技术网

使用ApacheWebServer从Python CGI文件运行.bat文件

使用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文件没有被执行

这可能真的很容易。但这对我来说并不管用

我有一个.bat文件要运行,它在服务器上执行一些操作,并且应该发送一封带有附件的电子邮件

.bat文件工作正常,它发送带有日志和所有内容的电子邮件

现在我想从Web服务器运行该文件。这样我就可以点击HTML表单按钮,它就会执行

我已经为它安装了Apache、Python 2.7

我已经将Apache配置为允许使用cgi文件,当我使用下面的代码将文件设置为index.py时,它就可以工作了

但是当我按下Submit按钮时,它会通过,但是.bat文件没有被执行。救命!:)

是否有其他方法可以从Web服务器运行.bat文件在我的服务器上执行操作?事先谢谢你

我尝试了表单中的操作以指向.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>"

您可以使用
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)
...