文件名Z_SEVP_C_BABJ_20130125001050_P_RFFC-SCMOC-201301250000-16812.TXT
文件名= 常数+变量+常数;字母都是常量;前一段日期是随着年月日时分秒变化的,年月日可以确定,时分秒变化较大,无法确定
本人想法:1、遍历包含这个文件的文件夹,将文件名读出来
2、对文件名进行匹配,如果包含“Z_SEVP_C_BABJ_”+
“_P_RFFC-SCMOC-201301250000-16812.TXT”这两段字符串,就得出文件名
但是出现错误,原因可能是我匹配的时候需要按照固定的顺序来比对,但是程序是一个字符一个字符的比对,求高手帮忙,感激不尽。
代码如下:
string Name1=“”;
DirectoryInfo TheFolder = new DirectoryInfo("D:\\预警、重要报告、通报\\多家模式集成预报\\中央");
foreach (FileInfo NextFile in TheFolder.GetFiles())
{
if (NextFile.FullName.Contains("Z_SEVP_C_BABJ") && NextFile.FullName.Contains("_P_RFFC-SCMOC-" + myStrFileName) && NextFile.FullName.Contains("0000-16812"))
{
Name1 = NextFile.FullName;
MessageBox.Show(Name1 );
}
}
发帖目的:希望能够按照固定顺序比对文件名称
------解决方案--------------------------------------------------------
把 foreach (FileInfo NextFile in TheFolder.GetFiles()) 这句改成
foreach (FileInfo NextFile in TheFolder.GetFiles("Z_SEVP_C_BABJ*_P_RFFC-SCMOC-*0000-16812*.txt"))
就可以了,里面判断可以去掉