C# 通过SFTP删除文件
是否有任何C开源组件允许我通过SFTP删除文件?试试。您可以使用OpenSSH并发出SFTP批处理命令。在c端,您所要做的就是使用正确的命令行启动sftp进程。Tamir Gal是非常流行的.NET sftp开源实现。试试看 如果您预先提供完全支持的商业组件,可以尝试我们的。以下代码说明了该概念:C# 通过SFTP删除文件,c#,sftp,C#,Sftp,是否有任何C开源组件允许我通过SFTP删除文件?试试。您可以使用OpenSSH并发出SFTP批处理命令。在c端,您所要做的就是使用正确的命令行启动sftp进程。Tamir Gal是非常流行的.NET sftp开源实现。试试看 如果您预先提供完全支持的商业组件,可以尝试我们的。以下代码说明了该概念: using Rebex.Net; // create client and connect Sftp client = new Sftp(); client.Connect(hostname);
using Rebex.Net;
// create client and connect
Sftp client = new Sftp();
client.Connect(hostname);
client.Login(username, password);
// delete the file
client.DeleteFile("/path/to/the/file");
// disconnect
client.Disconnect();
我一直在用。它对我很有效,并且正在积极开发/支持
删除文件的代码如下所示
public static void DownloadFile(SftpClient client, SftpFile remoteFileName)
{
var localFileName = System.IO.Path.GetFileName(remoteFileName.Name );
using (var file = File.OpenWrite(localFileName))
{
client.DownloadFile(remoteFileName.FullName , file);
remoteFileName.Delete();
}
}
使用对象SshExec执行Linux命令rm。此命令用于删除文件。 例如: rm/dir1/dir2/file.txt 其他例子
只是检查一下:SFTP是指SSH文件传输协议吗?因为这个问题与FTP无关,但您的问题被标记为FTP。我不同意,SFTP和FTP在某些方面是相似的。@djangofan的概念是相似的,但实现是完全不同的。SFTP协议与FTP没有任何共同之处(除了名称)。有关FTP、FTPS、FTP/SSL和SFTP之间的区别,请参阅。马丁,请在您提到自己产品的每个帖子中披露您的从属关系。我知道你没有做任何不正当的事,这只是我们要求每个人都遵守的政策。有关官方政策声明,请参见。谢谢。当然,没问题。我在这篇文章(以及其他文章)中添加了一个神奇的“我们”字。虽然代码很受欢迎,但它应该总是有一个附带的解释。这不需要很长时间,但这是意料之中的。
public static bool DeleteFile(string remotePath)
{
try
{
SshExec comando = new SshExec(Server, User);
comando.Password = Password;
comando.Connect();
string paso = comando.RunCommand("rm " + remotePath);
comando.Close();
return true;
}
catch (Exception ex)
{
mErrorSFTP = ex.Message;
return false;
}
}