2010-09-08 2 views
0

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


ответ

0

Я не знаю, что вы подразумеваете под «файлов по кассе», но если вы хотите скопировать каталог необходимо:

  1. Рекурсивный перечислить все файлы и папки в каталог верхнего уровня.
  2. Для каждого элемента, который вы перечисляете, создайте папку в целевом каталоге или скопируйте исходный файл в иерархию целевого каталога.

Ниже перечислю все файлы и папки в каталоге:

static void FullDirList(DirectoryInfo dir, string searchPattern) 
{ 
    Console.WriteLine("Directory {0}", dir.FullName); 
    // list the files 
    foreach (FileInfo f in dir.GetFiles(searchPattern)) 
    { 
    Console.WriteLine("File {0}", f.FullName); 
    } 
    // process each directory 
    foreach (DirectoryInfo d in dir.GetDirectories()) 
    { 
    FullDirList(d, searchPattern); 
    } 
} 

Если вы звоните, что с FullDirList("C:\MyProject\", *.*), он будет перечислять все файлы.

Чтобы создать папки назначения или скопировать файлы, измените их на Console.WriteLine, чтобы они выполнили соответствующие действия. Все, что вам нужно изменить в целевом файле или именах папок, - это имя корневой папки (то есть, если вы копируете из C: \ MyProject \ в C: \ MyProjectCopy \, то файлы назначения - это только f.FullName с C : \ MyProject \ заменен на C: \ MyProjectCopy).

+1

Если вы хотите скопировать только извлеченные файлы, добавьте условие только для копирования файлов с возможностью записи (проверка файла удаляет атрибут readonly из файла) –

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

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