【问题标题】:Directory.GetFiles Returning Duplicate File NamesDirectory.GetFiles 返回重复的文件名
【发布时间】:2012-10-05 21:10:47
【问题描述】:

我正在运行System.IO.Directory.GetFiles("my_directory_name_on_network"),它对于目录中的大多数11320 文件都很好,但其中一个文件存在两次。有没有人遇到过这个?知道这意味着什么吗?当我在 Windows 资源管理器中查看时,肯定似乎只有一个文件。

更新

最终我也能够在 Windows 资源管理器中看到该问题。相同的文件名在那里列出了两次。

【问题讨论】:

  • 你确定扩展名也一样吗?
  • 哦,是的。我什至做了检查,files[240] == files[241],所以字符串似乎是相等的。
  • 您是否连接到 Windows 机器?
  • 这是我的 NetOps 部门运行的某种文件服务器,我不知道它的详细信息。当我检查我可以看到的属性时,它显示类型:网络驱动器,文件系统:NTFS,仅此而已。这可能是相关的吗?我有可能找到这些信息。
  • 可能区分大小写?

标签: .net directory


【解决方案1】:

我遇到了同样的问题。我正在遍历本地硬盘上的 Word 文档并执行一些自动化操作,而不是保存文件,只是读取它们。

我有一些文件是 *.doc 和一些是 *.docx。我用过

GetFiles("*.doc");

GetFiles("*.docx");

处理所有文件。然而,问题在于

GetFiles("*.doc");

还找到了\*.docxfiles,因此 .docx 文件被找到了两次。

使用这样的东西:

var strFileList = Directory.GetFiles(strDrvPth, strExtn).Where(s => s.EndsWith(strExtn.Substring(1)));

Substring(1) 从扩展规范中删除了“*”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-12
    • 2022-10-24
    • 1970-01-01
    • 1970-01-01
    • 2013-07-08
    • 1970-01-01
    • 2010-10-25
    • 1970-01-01
    相关资源
    最近更新 更多