Я пишу функцию C #, которая извлекает некоторые файлы, соответствующие шаблону.
Ввод: C: \ abc * \ abc? \ Testfile. *
Вывод: все файлы соответствуют.
Я думал, что смогу сделать это рекурсией.Но это было нелегко: (
У вас есть хороший алгоритм?
Обновление :
Я сделал это. Спасибо, Кирен:)
void PrintAllFiles(DirectoryInfo currentDir,
string currentPattern, string nextPatten)
{
DirectoryInfo[] dis = currentDir.GetDirectories(currentPattern);
if (dis.Length > 0)
{
string[] remainPattern = nextPatten.Split("\\".ToCharArray());
if (remainPattern.Length > 0)
{
foreach (DirectoryInfo di in dis)
{
PrintAllFiles(di, remainPattern.First(),
string.Join("\\", remainPattern.Skip(1).ToArray()));
}
}
}
FileInfo[] fis = currentDir.GetFiles(currentPattern);
foreach (FileInfo fi in fis)
{
Console.WriteLine(fi.DirectoryName + "\\" + fi.Name);
}
}