Member 12959823 Ответов: 2

Как скопировать файлы с локальной машины на удаленную машину в C#


существует сценарий, в котором мне нужно скопировать файлы папок с локального компьютера в мою удаленную папку RDP-сервера с помощью консоли c#. что я должен пройти путь к целевой?

Что я уже пробовал:

class Program
{
    static void Main(string[] args)
    {
        string sourceDirectory = @"\\192.168.0.163\Y$\Logs";
        string targetDirectory = @"\\ ?\X$";

        Copy(sourceDirectory, targetDirectory);
    }



    public static void Copy(string sourceDirectory, string targetDirectory)
    {
        DirectoryInfo diSource = new DirectoryInfo(sourceDirectory);
        DirectoryInfo diTarget = new DirectoryInfo(targetDirectory);

        CopyAll(diSource, diTarget);
    }

    public static void CopyAll(DirectoryInfo source, DirectoryInfo target)
    {
        Directory.CreateDirectory(target.FullName);

        // Copy each file into the new directory.
        foreach (FileInfo fi in source.GetFiles())
        {
            string  Filename= DateTime.Now.ToString("MM/dd/yyyy") + "_" +  fi.Name  ;
            Console.WriteLine(@"Copying {0}\{1}", target.FullName, Filename);
            fi.CopyTo(Path.Combine(target.FullName, Filename), true);
        }

        // Copy each subdirectory using recursion.
        foreach (DirectoryInfo diSourceSubDir in source.GetDirectories())
        {
            DirectoryInfo nextTargetSubDir =
                target.CreateSubdirectory(diSourceSubDir.Name);
            CopyAll(diSourceSubDir, nextTargetSubDir);
        }
    }


}

ZurdoDev

Я считаю, что это будет работать только в том случае, если у вас есть подключенный диск или общий ресурс к другому компьютеру.

Andy Lanng

Это будет работать, если вы работаете от имени пользователя, который уже вошел на этот сервер, либо через подключенный диск, либо с помощью любого другого метода стиля "проводник".
Я бы посоветовал вам использовать sFTP, если машина не локальная, или использовать подключенный диск, если он есть.
Вы можете запустить сценарии для сопоставления диска, а затем заставить ваше приложение запустить этот сценарий, когда диск не сопоставлен для пользователя, под которым он работает

2 Ответов

Рейтинг:
0

Kevin Marois

Делает этот[^- помочь?