Как скопировать файлы с локальной машины на удаленную машину в 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, если машина не локальная, или использовать подключенный диск, если он есть.
Вы можете запустить сценарии для сопоставления диска, а затем заставить ваше приложение запустить этот сценарий, когда диск не сопоставлен для пользователя, под которым он работает