如何设置模式以返回多个文件,但仅限于我正在寻找的文件。
我有一个包含文件的目录:
marks v1.csv,
marks_east.csv
marks.csv
marks_west.csv
marks23.csv
marks24.csv
我需要使用filePattern
marks.csv,marks_east.csv,marks_west.csv 。
之前我使用的是确切的文件名,因为我只对一个文件感兴趣。现在我想通过修改filePattern
来重用相同的过程。
var files = Directory.GetFiles(sourceDirectory, filePattern).OrderBy(d => new FileInfo(d).CreationTime);
答案 0 :(得分:0)
Directory.GetFiles支持通配符。
var files = Directory.GetFiles(sourceDirectory, "marks_*.csv").OrderBy(d => new FileInfo(d).CreationTime);
但这不会捕获marks.csv。 Regex非常适合这个,但是GetFiles函数不支持正则表达式。一个快速(有点hacky)的解决方案可能是:
var files = Directory.GetFiles(sourceDirectory, "marks_*.csv");
if (File.Exists(sourceDirectory+"marks.csv"))
files.Insert(0, "marks.csv");
files.OrderBy(d => new FileInfo(d).CreationTime);