Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> глупый вопрос о копировании директория 
:(
    Опции темы
Cree
Дата 11.2.2006, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 10.11.2005

Репутация: нет
Всего: нет



Может кто нибудь подскажет простой и красивый способ скопировать дерикторий со всеми вложенными файлами и каталогами.
PM MAIL   Вверх
_hunter
Дата 13.2.2006, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 2
Всего: 98



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


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Ch0bits
Дата 13.2.2006, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

Репутация: 9
Всего: 62



Cree
smile
Код

using System;
using System.Text;
using System.IO;

namespace CopyDirectory
{
    class Program
    {
        static void Main(string[] args)
        {
            CopyDirectory(@"d:\temp", @"c:\123123\666\6", true);
        }

        /// <summary>
        /// Копирование директории
        /// </summary>
        /// <param name="Source">Исходная директория</param>
        /// <param name="Dest">Конечная директория</param>
        /// <param name="CanOverwrite">Флаг возможности перезаписи имеющихся файлов</param>
        private static void CopyDirectory(String Source, String Dest, bool CanOverwrite)
        {
            DirectoryInfo DI = new DirectoryInfo(Source);
            FileInfo[] Files = DI.GetFiles();
            Directory.CreateDirectory(Dest);
            foreach (FileInfo fi in Files)
                File.Copy(fi.FullName, Dest + "\\" + fi.Name, CanOverwrite);
            DirectoryInfo[] Directories = DI.GetDirectories();
            foreach (DirectoryInfo di in Directories)
                CopyDirectory(di.FullName, Dest+"\\"+di.Name, CanOverwrite);
        }
    }
}


PM WWW   Вверх
Cree
Дата 15.2.2006, 01:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 10.11.2005

Репутация: нет
Всего: нет



Рекурсивно я тож сделал, а вот подругому я так понимаю что никак? Просто если подумать как то нелогично сделан Directory класс. MoveTo есть а копировать нет, странно.... Но за примерчик всеравно спасибо. smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0402 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.