繁体   English   中英

C#如何将文件名放入具有特定模式的特定文件夹中

[英]c# how to get files name into a specific folder which have a specific pattern

我有一个包含以下文件的文件夹:

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.Config app settings部分获得了文件夹名称,如下所示:

string folderPath = ConfigurationManager.AppSettings["xmlFolder"];

然后我得到了所有这样的文件名:

foreach (string file in Directory.EnumerateFiles(folderPath, "*.xml"))
{

}

我的问题:

这样,我得到了所有文件。 但是,我只对名称中带有CustsExport文件感兴趣。

请问你能帮帮我吗?

注意:

我正在.NET 4.5上工作

尝试这个:

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();

您可以使用string.Contains(“”)

string folderPath = ConfigurationManager.AppSettings["xmlFolder"];
        foreach (string file in Directory.EnumerateFiles(folderPath, "*.xml"))
        {
            if (file.Contains("CustsExport"))
            {
                //add your code
            }
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM