我有一些代码旨在获取目录中的文件,这很简单
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之后的任何文件。
我不明白的是为什么它得到了前四个文件,却没有得到最后四个文件。
我以为原始文件不会拾取任何文件?
1
相关文件是否已删除,但已被防病毒软件或类似软件打开?这可能会导致一个“ ghost”文件,资源管理器仍在其中列出该文件,但实际上它不再存在于磁盘上。
—
Lasse V. Karlsen
短名称是您的宿敌,当文件太多时就
—
汉斯·帕桑
Totals~n.csv
不再适合,您只能在上找到匹配项Total*
。键入dir /x tot*.*
以查看短名称。您赞成Totals.csv*
并且可能需要过滤以消除意外匹配。