我如何在 SFTP 中使用 rmdir 来删除不为空的远程文件夹?

How could I use rmdir in SFTP to remove remote folders not empty?

最近在用SharpSSH处理远程文件。 SharpSSH 提供 API of rmdir 用于删除远程目录,但我发现当目录不为空时它会抛出消息 "Permission denied" 的异常。然后我必须递归地删除最终 rmdir 之前的每个文件,这效率不高。

那么我怎么能在没有愚蠢的递归删除的情况下使用这个rmdir呢?

没有。在SFTP协议中,一般是没有API递归删除文件夹的。

因此,即使您使用另一个允许通过一次调用删除文件夹的库(如 my WinSCP Session.RemoveFiles),它仍然必须在内部递归到子目录中.