我有一个包含这些文件的文件夹:
Erb3PCustsExport-303_20080318_223505_000.xml
Erb3PCustsExport-303_20080319_063109_000_Empty.xml
Erb3PCustsImport-303_20080319_123456.xml
Erb3PDelCustsExport-303_20080319_062410_000.xml
Erb3PResosExport-303_20080318_223505_000_Empty.xml
Erb3PResosExport-303_20080319_062409_000.xml
我只关心名字中有CustsExport
字的文件。
如何获取这些文件?
我从app settings
App.Config
部分获得了文件夹名称,如下所示:
string folderPath = ConfigurationManager.AppSettings["xmlFolder"];
然后我得到了这样的所有文件名:
foreach (string file in Directory.EnumerateFiles(folderPath, "*.xml"))
{
}
通过这种方式,我收到了所有文件。但是,我只对其名称中包含CustsExport
的文件感兴趣。
你能帮我吗?
我正在研究.NET 4.5
答案 0 :(得分:2)
试试这个:
foreach (string file in Directory.EnumerateFiles(folderPath, "*CustsExport*.xml"))
{
}
或者您可以使用正则表达式:
Regex reg = new Regex(@".*CustsExport.*\.xml",RegexOptions.IgnoreCase);
var files = Directory.GetFiles(yourPath, "*.xml")
.Where(path => reg.IsMatch(path))
.ToList();
答案 1 :(得分:0)
您可以使用string.Contains("")
string folderPath = ConfigurationManager.AppSettings["xmlFolder"];
foreach (string file in Directory.EnumerateFiles(folderPath, "*.xml"))
{
if (file.Contains("CustsExport"))
{
//add your code
}
}