rediffusion
11/3/2017 - 8:56 PM

Копировать

В PM нам потребуется: Список Таблица Ссылки из GAC OwnCodeUsings


//Подменю "Данные-Директории". Действие "Копировать"

//Присваиваем переменной путь к копируемой папке
string strSourceDirectoryPath = project.Directory + @"\Вспомогательные файлы\Папка для копирования\";
//Присваиваем переменной путь к папке назначения
string strTargetDirectoryPath = project.Directory + @"\Вспомогательные файлы\Скопированная папка\";

Directory.CreateDirectory(strSourceDirectoryPath); //создадим директорию, которая будет копироваться

//Команды копирования одной строкой (например Directory.Copy) не существует. Для копирования применяется такая конструкция:
if (!Directory.Exists(strTargetDirectoryPath)) {
	Directory.CreateDirectory(strTargetDirectoryPath);
}
foreach (string dirPath in Directory.GetDirectories(strSourceDirectoryPath, "*", SearchOption.AllDirectories)) {
    Directory.CreateDirectory(dirPath.Replace(strSourceDirectoryPath, strTargetDirectoryPath));
}
foreach (string newPath in Directory.GetFiles(strSourceDirectoryPath, "*.*", SearchOption.AllDirectories)) {
    File.Copy(newPath, newPath.Replace(strSourceDirectoryPath, strTargetDirectoryPath), true); //если заменять файлы при копировании не нужно, укажите false
}

project.SendInfoToLog("Готово! Проверьте содержимое папки назначения " + strTargetDirectoryPath);

//Примечания:
//1. Если необходимо скопировать только содержимое исходной папки, но не вложенные папки и их содержимое, используйте SearchOption.TopDirectoryOnly вместо SearchOption.AllDirectories