Directory.GetFiles 返回重复的文件名
Posted
技术标签:
【中文标题】Directory.GetFiles 返回重复的文件名【英文标题】:Directory.GetFiles Returning Duplicate File Names 【发布时间】: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,仅此而已。这可能是相关的吗?我有可能找到这些信息。 可能区分大小写? 【参考方案1】:我遇到了同样的问题。我正在遍历本地硬盘上的 Word 文档并执行一些自动化操作,而不是保存文件,只是读取它们。
我有一些文件是 *.doc
和一些是 *.docx
。我用过
GetFiles("*.doc");
GetFiles("*.docx");
处理所有文件。然而,问题在于
GetFiles("*.doc");
还找到了\*.docx
files,因此 .docx 文件被找到了两次。
使用这样的东西:
var strFileList = Directory.GetFiles(strDrvPth, strExtn).Where(s => s.EndsWith(strExtn.Substring(1)));
Substring(1)
从扩展规范中删除了“*”。
【讨论】:
以上是关于Directory.GetFiles 返回重复的文件名的主要内容,如果未能解决你的问题,请参考以下文章
Directory.GetFiles:如何只获取文件名,而不是完整路径? [复制]
Directory.GetFiles("path/to/dir", "*.*", SearchOption.AllDirectories) 但在 Python
Directory.EnumerateFiles 与 Directory.GetFiles 有啥区别?
Directory.GetFiles 有效,Directory.GetDirectories 不在同一目录中