运行FTP(JavaScript中的命令shell)服务器端

run ftp (command shell in javascript) server side

本文关键字:命令 shell 服务器端 FTP JavaScript 运行      更新时间:2023-09-26

我有一个疑问(经典的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.blalba'scossa$''ftp'" & CODEID & ".ftp" 
  WshShell.Exec(sFTP , 2)  
End If
%>

我假设您在这里发布 CODEID 的值在表单中。 请注意,不能在服务器端代码中使用<%=CODEID%>。 <% %> 分隔符表示它们包含的内容是针对服务器的,因此使用它们两次是无稽之谈。

您可能会发现此问题很有帮助 - 从 IIS 在服务器上运行 VBS 脚本 (ASP)