c# - 如何使用 C# 和 WinSCP 从远程目录中删除 "."和 ".."文件

标签 c# sftp winscp winscp-net

我正在尝试使用 SFTP 连接从远程目录中获取文件计数,但我得到的是 ... 并且这些被计算为这些点像文件一样,我在远程目录中有 2 个文件,但正在计算 4 个文件,包括 ....

谁能帮我解决这个问题?

这是我的代码:

filesCount = session.ListDirectory(DataFile.sRemoteDirectory).Files.Count;                

谢谢!

最佳答案

根据 the WinSCP documentation :

You can use Session.EnumerateRemoteFiles method instead, if you want to:

  • List only files matching a wildcard;
  • List the files recursively;
  • Have references to this (.) and parent (..) directories be excluded form the listing.

看来您应该更改您的代码来做一些更像这样的事情:

filesCount = 0; 
filesCount = session.EnumerateRemoteFiles(DataFile.sRemoteDirectory).Files.Count();                
session.Close();

关于c# - 如何使用 C# 和 WinSCP 从远程目录中删除 "."和 ".."文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34518696/

相关文章:

c# - 移动检测未按预期工作

c# - HR-XML 错误,试图反序列化 XML 示例

azure - 如何使用公共(public) SSH key 在 Azure 数据工厂中创建 SFTP 连接

linux - Powershell 手动运行时可以传输文件,设置为调度程序时无法传输

excel - 使用 VBA 和 WinSCP 同步本地和远程文件

permission-denied - WinSCP:权限被拒绝。错误代码:3 来自服务器的错误消息:权限被拒绝

c# - Automapper 中的 ReverseMap 使用备用命名约定

c# - 如何拒绝直接访问页面

java - 使用 Apache Commons VFS2 检查文件是否存在

perl - 从 PERL 的 $sftp->get or do {...} 中获取错误文本