我有一个疑问(经典的asp服务器)。
此脚本:
<SCRIPT type="text/javascript" LANGUAGE="JavaScript">
function executeCommands()
{
var WshShell = new ActiveXObject("WScript.Shell");
var sFTP = 'ftp.exe -s:\\aServerNas.intranet.blalba\scossa$\\ftp\<%=CODEID%>.ftp';
var oExec = WshShell.run(sFTP , 2);
};
</SCRIPT>
当我单击 id=reload 标签时,请允许我在侧客户端(我的 PC)命令外壳中运行 FTP 脚本:
$('#reload').click(function(){
executeCommands();
}
});
但是如果我更改脚本添加属性"runat":
<SCRIPT type="text/javascript" LANGUAGE="JavaScript" runat="server">
function executeCommands()
{
var WshShell = new ActiveXObject("WScript.Shell");
var sFTP = 'ftp.exe -s:\\aServerNas.intranet.blalba\scossa$\\ftp\<%=CODEID%>.ftp';
var oExec = WshShell.run(sFTP , 2);
};
</SCRIPT>
当我点击id=reload标签时,命令外壳将在服务器(\\aServerNas)上执行,我需要哪个?
非常感谢你,我为我的英语不好道歉。
编辑:问题是:如果客户端无法访问\aServerNas(即.ftp脚本所在的服务器),我如何运行FTp?
尝试这样的事情,我使用了 vbs 而不是 js,因为这是我熟悉
的<%
If request.form("CODEID") <> "" then
dim WshShell, sFTP, CODEID
CODEID = request.form("CODEID")
set WshShell = CreateObject("WScript.Shell")
sFTP = "ftp.exe -s:\aServerNas.intranet.blalbascossa$\ftp" & CODEID & ".ftp"
WshShell.Exec(sFTP , 2)
End If
%>
我假设您在这里发布 CODEID 的值在表单中。 请注意,不能在服务器端代码中使用<%=CODEID%>
。 <% %> 分隔符表示它们包含的内容是针对服务器的,因此使用它们两次是无稽之谈。
您可能会发现此问题很有帮助 - 从 IIS 在服务器上运行 VBS 脚本 (ASP)