我试图编写一个接收带通配符路径的方法,例如:
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来工作......我可以拆分并连接但似乎对于这个小功能很有用。
答案 0 :(得分:1)
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..
}