0

我有一个 php 文件,作为界面并包含 3 个按钮来按下。第一个和第二个按钮将指向由调度程序批处理文件生成的下载链接。当点击第三个按钮时会调用run.php,然后它将手动执行批处理文件以获取文件的最新更新。

问题:当我在 localhost 中尝试时,当 scheduler.bat 文件完全运行时,div“statusNow”只会从“请稍候,正在进行中”变为“已完成”。

但是当我将文件放在生命服务器中时,在批处理文件完全运行之前(基本上在第一个 xcopy 命令之后),它已经将状态更改为已完成。

<!DOCTYPE html>
<html>
<head>
<script>
function dothework()
{
var xmlhttp;

if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("statusNow").innerHTML="Completed";
    document.getElementById("b1").disabled=false;
    document.getElementById("b2").disabled=false;
    document.getElementById("b3").disabled=false;
    }
  }
xmlhttp.open("GET","run.php",true);
xmlhttp.send();
document.getElementById("b1").disabled=true;
document.getElementById("b2").disabled=true;
document.getElementById("b3").disabled=true;
document.getElementById("statusNow").innerHTML="Please wait... In the progess...";
}
</script>
</head>
<body>

<form>
<button type="button" id="b1" onclick="window.location.href='downloadlink1'"</button>
<button type="button" id="b2" onclick="window.location.href='downloadlink2'"</button>
<br><br>

<button type="button" id="b3" onclick="dothework()">Export</button>
<div id="statusNow"><h2></h2></div>
</form>

</body>
</html>

这里将是 php 文件

<?php
system("cmd /c C:\scheduler.bat");
?>

调度程序文件

@echo off

xcopy C:afile C:download\afile /s /e /i /y

cd C:download\
"C:\Program Files\WinRAR\Rar.exe" a -df -r "afile.rar" "afile"

xcopy C:bfile C:download\bfile /s /e /i /y

cd C:download\
"C:\Program Files\WinRAR\Rar.exe" a -df -r "bfile.rar" "bfile"
4

0 回答 0