У меня есть каталог со многими папками, имена - это номера, которые всегда восходящие.Получить последний каталог внутри каталога, упорядочивая его по имени
Пример:
1
2
3
4
5
6
7
Итак, предположим, что они находятся внутри c:\folders\
Чтобы получить последнюю папку(), я бы это сделать:
string[] folders = Directory.GetDirectories("c:\folders\", "*",
SearchOption.AllDirectories)
А потом возьмите последний элемент строки.
Но в этом каталоге имеется более 5000 папок, поэтому getdirectories занимает около 1 минуты для запуска.
Почему я это делаю:
У меня есть исходный каталог и каталог назначения. Я копирую все новые папки и их содержимое в исходном тексте (да, резервная копия).
Это то, что в настоящее время делает мой код:
string[] directories = Directory.GetDirectories(source, "*",
SearchOption.AllDirectories);
foreach (string dirPath in directories)
Directory.CreateDirectory(dirPath.Replace(source, target));
foreach (string newPath in Directory.GetFiles(source, "*.*",
SearchOption.AllDirectories))
{
if (!File.Exists(newPath.Replace(source, target)) && !newPath.Contains("\\Temp\\"))
{
File.Copy(newPath, newPath.Replace(source, target), false);
}
}
После того как я получить последнюю папку, мне нужно создать каталоги и скопировать файлы внутри только папки, которые приходят после него в исходном каталоге.
Итак, как я могу получить папку с наивысшим наименованием (числом) быстрее? Я мог бы создать файл TXT, чтобы отслеживать последнюю вставленную папку, но не очень хороший способ иметь дополнительные файлы, которые можно изменить.
Ах, источник содержит несколько папок с буквами, например Temp, например. Я хочу игнорировать эти папки и получать только те, у которых есть только числовое имя.
Я знаю, что вопрос звучит слишком широк, я не прошу кого-либо выполнять свою работу, я просто хочу идею, я не нашел подходящего способа сделать это после некоторых исследований.
Перечислите Каталоги предназначены только для .NET 4.0. Я забыл упомянуть, что я использую 2.0 – Phiter
А, это, безусловно, меняет вещи :) – KSib
Я сделал некоторые тяжелые исследования этим утром и до сих пор не смог получить желаемые результаты. – Phiter