我正在尝试为客户端创建一个 html 页面,他可以从中启动或停止任何远程桌面上的特定窗口服务。总数范围内的服务数量约为 20 个。我不想创建 20(启动)+ 20(停止)+ 20(重新启动)批处理文件,而是希望拥有 1 个带有 if else 条件的批处理文件,我可以在 javascript 函数中传递参数。 html页面的代码如下:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
MyObject = new ActiveXObject("WScript.Shell")
function start()
{
MyObject.Run("\"E:\\start.bat\"");
}
function stop()
{
MyObject.Run("\"E:\\stop.bat\"");
}
function restart()
{
MyObject.Run("\"E:\\restart.bat\"");
}
</script>
<title>Our Company</title>
</head>
<body>
<table background-color:#f1f1c1; border="1" style="width:50%" align="center">
<tr>
<th style="text-align:center">Instance Name</th>
<th style="text-align:center">Accessible URL</th>
<th style="text-align:center">Status</th>
<th style="text-align:center">Start</th>
<th style="text-align:center">Stop</th>
<th style="text-align:center">Restart</th>
</tr>
<tr height="70%">
<td style="text-align:center">netadds</td>
<td style="text-align:center">
<a href="http://localhost/">localhost:netadds</a></td>
<td style="text-align:center">Running</td>
<td style="text-align:center"><button onclick="start()">Start</button></td>
<td style="text-align:center"><button onclick="stop()">Stop</button></td>
<td style="text-align:center"><button onclick="restart()">Restart</button> </td>
</tr>
</table>
</body>
</html>
start.bat 中的代码是:
@echo off
net start AMAPTestJetty8i0T1
if ERRORLEVEL 1 goto error
exit
:error
echo Could not start service
pause
请建议我如何批量应用 if else 语句并在启动函数中传递参数。
将参数传递到 BAT 文件:
MyObject.Run("E:\start.bat The_parameter1 The_parameter2");
获取 BAT 文件中的参数:
echo parameter 1 = %1
echo parameter 2 = %2
在 BAT 中进行
IF ELSE
测试
net start AMAPTestJetty8i0T1
if %ERRORLEVEL%==1 (goto error
) else (
goto NoError)
或使用 条件命令分隔符 :
net start AMAPTestJetty8i0T1 && goto NoError || goto Error