Копированеи файлов на расшаренную папку

Тема в разделе ".NET", создана пользователем georgiy_lk, 21 окт 2006.

Статус темы:
Закрыта.
  1. georgiy_lk

    georgiy_lk Гость

    Мне нужно написать программу для копирования файлов с обного конпа в локалке в расшаренную папку другого. Дайте пожалуйста пример метода подключения к расшаренной папки другого компа, что бы мжно было с ней работать (т.е. копировать/удалять файлы/папки)
     
  2. georgiy_lk

    georgiy_lk Гость

    С файлами разобрался, а вот с папками не могу. У обьекта File есть методы Create, Copy и т.д. а вот у обьекта Folders нет метода Copy(зато есть Move :( ). Я второй день бьюсь на тем как можно скопировать папку со всем ее содержимым и мне так ничего в голову не пришло. Помогите плиз... Дайте код или хотябы алгоритм решения проблемы. Есть некая папка А и она может содержать сколько угодно файлов и папок внутри себя, соответственно папки внутри А могут тоже содержат свои вложенные папки и файлы и т.д.. Как можно скопировать папку А со всем ее содержимым(например с диска C: на D:)?
     
  3. Electro

    Electro Гость

    System.IO.Directory
    Directory - класс
    Предоставляет статические методы для создания, перемещения и перечисления в папках и вложенных папках.
    В приведенном примере определяется, существует ли папка, если это так, она удаляется, в противном случае — создается. Затем папка перемещается, в ней создается файл и производится подсчет файлов в папке.
    Код (Text):
    undefined
    using System;
    using System.IO;

    class Test
    {
    public static void Main()
    {
    // Specify the directories you want to manipulate.
    string path = @"c:\MyDir";
    string target = @"c:\TestDir";

    try
    {
    // Determine whether the directory exists.
    if (!Directory.Exists(path))
    {
    // Create the directory it does not exist.
    Directory.CreateDirectory(path);
    }

    if (Directory.Exists(target))
    {
    // Delete the target to ensure it is not there.
    Directory.Delete(target, true);
    }

    // Move the directory.
    Directory.Move(path, target);

    // Create a file in the directory.
    File.CreateText(target + @"\myfile.txt");

    // Count the files in the target directory.
    Console.WriteLine("The number of files in {0} is {1}",
    target, Directory.GetFiles(target).Length);
    }
    catch (Exception e)
    {
    Console.WriteLine("The process failed: {0}", e.ToString());
    }
    finally {}
    }
    }
    ВСЕ ВЗЯТО ИЗ MSDN
     
  4. georgiy_lk

    georgiy_lk Гость

    Я вот тоже тока сеня нашол это на MSDN (сранно но по тем же словам что и вчера). Спасибо. Сеня дома поковыряюсь. :)
     
  5. georgiy_lk

    georgiy_lk Гость

    кот Electro перемещает, а не копирует папку.
    Если кому нужо вот решение. Работает 100%.
    Код (Text):
    using System;
    using System.IO;

    namespace DirectoryInfoCS2
    {
    class Class1
    {
    // Copy a source directory to a target directory.
    static public void CopyDirectory(string SourceDirectory, string TargetDirectory)
    {
    DirectoryInfo   source = new DirectoryInfo(SourceDirectory);
    DirectoryInfo   target = new DirectoryInfo(TargetDirectory);

    //Determine whether the source directory exists.
    if(!source.Exists)
    return;
    if(!target.Exists)
    target.Create();

    //Copy files.
    FileInfo[] sourceFiles = source.GetFiles();
    for(int i = 0; i < sourceFiles.Length; ++i)
    File.Copy(sourceFiles[i].FullName, target.FullName + "\\" + sourceFiles[i].Name,true);

    //Copy directories.
    DirectoryInfo[] sourceDirectories = source.GetDirectories();   
    for(int j = 0; j < sourceDirectories.Length; ++j)
    CopyDirectory(sourceDirectories[j].FullName,target.FullName +"\\" + sourceDirectories[j].Name);
    }

    static void Main(string[] args)
    {
    CopyDirectory("D:\\Tools","D:\\NewTools");
    }
    }
    }
     
  6. Electro

    Electro Гость

    Неправда "КОТик" был не мой, а Microsoft from MSDN.
    И "Работает 100%." - не спеши. Как быть с файлами в папках
    Второго, третьего и т.д. вложений.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей