Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过SFTP删除文件_C#_Sftp - Fatal编程技术网

C# 通过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);

是否有任何C开源组件允许我通过SFTP删除文件?

试试。

您可以使用OpenSSH并发出SFTP批处理命令。在c端,您所要做的就是使用正确的命令行启动sftp进程。

Tamir Gal是非常流行的.NET sftp开源实现。试试看

如果您预先提供完全支持的商业组件,可以尝试我们的。以下代码说明了该概念:

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;
    }  
}