我使用C#(FtpWebRequest)中的FTP将批处理文件传输(上传)到服务器。批处理文件有一些命令。我的要求是将批处理文件传输到服务器(我可以做到)并执行该批处理文件。上传后在服务器端执行批处理文件:C#
如何从客户端执行服务器上批处理文件中的命令?我可以使用Process.Start()方法或rsh?这是更好的方式,并赞赏这个例子的链接。
我使用C#(FtpWebRequest)中的FTP将批处理文件传输(上传)到服务器。批处理文件有一些命令。我的要求是将批处理文件传输到服务器(我可以做到)并执行该批处理文件。上传后在服务器端执行批处理文件:C#
如何从客户端执行服务器上批处理文件中的命令?我可以使用Process.Start()方法或rsh?这是更好的方式,并赞赏这个例子的链接。
上次我需要远程复制并运行批处理文件,我使用了PSExec。但是,这需要远程计算机上的管理员权限。
您可以运行运行批处理文件的计划任务(比如说每五分钟)。您可能必须执行一些清理任务,例如在运行后删除批处理文件(因此它不会无意中再次运行)。
(如果您的批处理文件,每次都有不同的名称...可能不得不重新考虑这个有点。)
这个好处是,它是非常简单,它采用了非常可靠的Windows调度和不需要第三方应用程序。
另一种选择你可以使用套接字编程,当浴文件完成传输时,发送命令到服务器执行浴文件。我认为这是第二选择。
你可以请示例如何用一个小例子? –
您可以尝试使用SITE FTP命令来运行该文件,但这是服务器和操作系统特定的(即无法在Unix上启动.BAT文件或在Windows服务器上启动.sh文件,并且并非所有服务器都支持通过SITE命令执行外部命令)。
如果这没有帮助,你将不得不在远程端设置一些服务器(例如SSH服务器),并通过FTP上传后使用SSH协议连接到该SSH服务器(但如果使用SSH,不需要FTP - 你可以使用基于SSH的SFTP)。
拿烟瑞里对于执行巴斯文件System.Diagnostics.Process.Start(FileName, Parameters);
和插口编号:http://www.codeproject.com/Articles/10649/An-Introduction-to-Socket-Programming-in-NET-using 这个样本http://diaryanakku.files.wordpress.com/2013/01/socket.jpeg(更改文件.JPEG到.7z压缩)和提取。抱歉限制。
我不希望使用任何软件来执行我的操作。我的批处理文件上传到Unix机器上。没有使用像PSExec这样的工具吗? –
就像那样,不错的链接。谢谢 – inspite
无论如何,你将如何在Unix上执行一个批处理文件?只是一个随机想法... – Joey