我使用 C# (FtpWebRequest) 中的 FTP 将批处理文件传输(上传)到服务器。批处理文件有一些命令。我的要求是将批处理文件传输到服务器(我能够做到)并执行该批处理文件。
如何从客户端执行服务器上批处理文件中的命令?我可以使用 Process.Start() 方法或 rsh 吗?哪种方法更好,并且将不胜感激提供示例的链接。
我使用 C# (FtpWebRequest) 中的 FTP 将批处理文件传输(上传)到服务器。批处理文件有一些命令。我的要求是将批处理文件传输到服务器(我能够做到)并执行该批处理文件。
如何从客户端执行服务器上批处理文件中的命令?我可以使用 Process.Start() 方法或 rsh 吗?哪种方法更好,并且将不胜感激提供示例的链接。
上次我需要远程复制和运行批处理文件时,我使用了 PSExec。但是,这需要远程计算机上的管理员权限。
您可以尝试使用 SITE FTP 命令来运行该文件,但这是特定于服务器和操作系统的(即您不能在 Unix 上启动 .BAT 文件或在 Windows 服务器上启动 .sh 文件,而且并非所有服务器都支持执行通过站点命令的外部命令)。
如果这没有帮助,您必须在远程端设置一些服务器(例如 SSH 服务器),并在通过 FTP 上传后使用 SSH 协议连接到该 SSH 服务器(但如果您使用 SSH,则不需要FTP - 您可以改用基于 SSH 的 SFTP)。
Nayan Soni 用于执行 Bath 文件System.Diagnostics.Process.Start(FileName, Parameters);
和套接字参考: http: //www.codeproject.com/Articles/10649/An-Introduction-to-Socket-Programming-in-NET-使用
此示例http://diaryanakku.files。 wordpress.com/2013/01/socket.jpeg(将文件 .jpeg 更改为 .7z)并提取。抱歉限制。
您可以运行运行批处理文件的计划任务(比如每五分钟)。您可能必须执行一些清理任务,例如在运行批处理文件后删除它(因此它不会无意中再次运行)。
(如果您的批处理文件每次都有不同的名称......可能需要重新考虑一下。)
这样做的好处是它非常简单,它使用非常可靠的 Windows 调度程序,并且不需要 3rd 方应用程序。
另一种选择你可以使用套接字编程,当浴文件传输完成后,发送命令到服务器执行浴文件。我认为这是第二选择。