【发布时间】:2020-05-16 21:39:38
【问题描述】:
我有一些代码用于获取目录中的文件,这很简单
foreach (var Totalfile in new DirectoryInfo(rootfolder).GetFiles("*Totals*.csv", SearchOption.TopDirectoryOnly))
文件命名如下:
Totals.CSV142344
Totals.CSV142409
Totals.CSV142433
Totals.CSV142501
Totals.CSV142528
我的问题是它没有拾取最后一个文件。
我已将代码改为:
foreach (var Totalfile in new DirectoryInfo(rootfolder).GetFiles("*Totals*.csv*", SearchOption.TopDirectoryOnly))
表示获取包含 Totals 和 .csv 的任何文件,以及 .csv 之后的任何内容。
我不明白为什么它获得了前四个文件,而不是底部。
我原以为原始代码不会提取任何文件?
【问题讨论】:
-
相关文件是否已被删除,但被杀毒软件或类似软件保持打开状态?这可能会导致资源管理器仍然列出它的“幽灵”文件,但它实际上不再存在于磁盘上。
-
显然前四个文件有a 8.3 name,最后一个没有。
-
短名称是您的克星,当文件过多时,
Totals~n.csv不再适合您,您只能在Total*上找到匹配项。键入dir /x tot*.*以查看短名称。您喜欢Totals.csv*,可能需要过滤以消除意外匹配。