Я использую систему Foundation Team, и у меня есть требование, в котором я хочу скопировать все файлы проверки в локальную папку вместе с той же структурой папок, используя C#. Как я могу это сделать?Копирование всех файлов проверки
0
A
ответ
0
Я не знаю, что вы подразумеваете под «файлов по кассе», но если вы хотите скопировать каталог необходимо:
- Рекурсивный перечислить все файлы и папки в каталог верхнего уровня.
- Для каждого элемента, который вы перечисляете, создайте папку в целевом каталоге или скопируйте исходный файл в иерархию целевого каталога.
Ниже перечислю все файлы и папки в каталоге:
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).
Если вы хотите скопировать только извлеченные файлы, добавьте условие только для копирования файлов с возможностью записи (проверка файла удаляет атрибут readonly из файла) –