2016-11-22 10 views
-1

Я хочу, чтобы файлы с фильтрами были созданы во всей структуре каталогов с помощью созданного свойства даты, а затем скопировали сохранение этой новой структуры фильтрованной директории в пункт назначения с помощью C#.Фильтр Структура каталога, Созданная дата, а затем Копировать с помощью C#

Я нашел solution, но фильтр не фильтрует.

using System; 
using System.IO; 

class CopyDir 
{ 
    public static void Copy(string sourceDirectory, string targetDirectory) 
    { 
    DirectoryInfo diSource = new DirectoryInfo(sourceDirectory); 
    DirectoryInfo diTarget = new DirectoryInfo(targetDirectory); 

    CopyAll(diSource, diTarget); 
    } 

public static void CopyAll(DirectoryInfo source, DirectoryInfo target) 
{ 
    Directory.CreateDirectory(target.FullName); 

    // Copy each file into the new directory. 
    foreach (FileInfo fi in source.GetFiles()) 
    { 
     Console.WriteLine(@"Copying {0}\{1}", target.FullName, fi.Name); 
     fi.CopyTo(Path.Combine(target.FullName, fi.Name), true); 
    } 

    // Copy each subdirectory using recursion. 
    foreach (DirectoryInfo diSourceSubDir in source.GetDirectories()) 
    { 
     DirectoryInfo nextTargetSubDir = 
      target.CreateSubdirectory(diSourceSubDir.Name); 
     CopyAll(diSourceSubDir, nextTargetSubDir); 
    } 
} 

public static void Main() 
{ 
    string sourceDirectory = @"c:\sourceDirectory"; 
    string targetDirectory = @"c:\targetDirectory"; 

    Copy(sourceDirectory, targetDirectory); 
} 

// Output will vary based on the contents of the source directory. 

}

+0

Что вы хотите фильтровать именно? По типу файла или дате создания, возможно, размер? – TripleEEE

+0

@TripleEEE только по дате создания –

+0

показать нам свой код, и мы сможем помочь –

ответ

0

Ну после того, как вы сказали нам, что вы хотите «Фильтр» по дате создания вы могли бы сделать что-то вроде:

//If date is newer than 1 week 
if(fi.CreationTime >= DateTime.Now - TimeSpan.FromDays(7)) 
    fi.CopyTo(Path.Combine(target.FullName, fi.Name), true); 

 Смежные вопросы

  • Нет связанных вопросов^_^