获取带有通配符的文件
本文关键字:文件 通配符 获取 | 更新日期: 2023-09-27 18:26:33
我正在尝试编写一个方法,该方法将接收带有通配符的路径,例如:c: ''temp''aa*.xml我想退回List<FileInfo>
我正在使用
var directoryName = Path.GetDirectoryName(path);
var filesName = Path.GetFileName(path);
IDirectoryInfoWrap directoryInfo = new DirectoryInfoWrap(directoryName);
var res = directoryInfo.GetFiles(filesName).ToList();
但它失败了,因为Path.Get…不适用于包含通配符的路径。
我试过分开这条路,但是。。Path.LastIndexOf(Path.DirectorySeparatorChar)
不能通过返回-1来工作…我可以进行拆分和合并,但对于这个小功能来说似乎有很多工作要做。
使用Directory.EnumerateFiles
方法:
string fullFilePath = "c:'temp'aa*.xml";
string fileNamePattern = Path.GetFileName(fullFilePath);
string sourceDirectory = fullFilePath.Replace(fileNamePattern, string.Empty);
try
{
var foundFiles = Directory.EnumerateFiles(sourceDirectory, fileNamePattern );
foreach (string currentFile in foundFiles)
{
//Do whatever you need with the file here...
}
}
catch (Exception e)
{
//Handle exceptions here..
}