Рейтинг:
20
koolprasadd
Чтобы скопировать файл с одной машины на другую через локальную сеть, вам нужна какая-то общая папка на целевой машине.
Затем вы можете получить к нему доступ, используя следующий синтаксис
System.IO.File.Copy("sourcePath", "\\machinename\share folder path");
//but if you want to paste it on specific drive then you can use following code
System.IO.File.Copy("sourcePath", "\\machinename\DriveLetter$\folder name");
//e.g. System.IO.File.Copy("D:\\test.txt", "\\machinename\E$\test\test.txt");
.net developer123456789
Большое спасибо..Сейчас работая
koolprasadd
Пожалуйста, поделитесь своим кодом, чтобы мы могли вам помочь
.net developer123456789
Файл '\Test-PC\UploadTest\test.txt \' уже существует.
пожалуйста, есть идеи ?
koolprasadd
Вы действительно хотите заменить существующий файл ?
.net developer123456789
Код Здесь :
public static void UploadShareFile(string strfilename)
{
пробовать
{
string fileName = Path.GetFileName(strfilename);
System.IO.File.Copy(strfilename, "\\\Admin-PC\\Upload\\" + fileName);
}
поймать (исключение бывший)
{
WriteToErrorFile("ошибка метода UploadShareFile on: {0}" + ex.сообщение);
}
}
koolprasadd
Вы действительно хотите заменить существующий файл ?
.net developer123456789
Да,пожалуйста, помогите мне
koolprasadd
Просто передайте "true" функции копирования, это поможет перезаписать выходящий файл. смотреть ниже
// Скопируйте один файл в то место, где он уже существует
Файл.Копия("file-a.txt", "file-b.txt", true); // перезапись = true
.net developer123456789
Спасибо...
koolprasadd
Если это решит вашу проблему ... тогда примите это как решение
Рейтинг:
2
OriginalGriff
В принципе, это просто случай вызова файла.Подвиньте: Файл.Метод Перемещения (String, String) (System.IO)[^] и предоставление путей источника и назначения.
Проблемы возникают, если удаленная машина требует входа в систему, и в этом случае самым простым решением является создание "виртуального диска" на вашем компьютере, который подключен к папке на удаленном компьютере (я делаю это с моим NAS, чтобы сделать все проще, и подключаю "буквы дисков" к нескольким различным папкам для различных целей). Вы можете сделать это в Проводнике Windows, используя опцию "сопоставить сетевой диск" контекстного меню сети.
Если вы этого не сделаете, то вам, вероятно, придется использовать олицетворение:
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
WindowsIdentity wid = new WindowsIdentity(username, password);
WindowsImpersonationContext context = wid.Impersonate();
File.Move(pathToSourceFile, "\\\\Server\\Folder");
context.Undo();
.net developer123456789
Я получил ошибку примерно такого рода :- предоставленное имя не является правильно сформированным именем учетной записи.
OriginalGriff
Вероятно, ваше имя пользователя находится в неправильном формате: оно должно быть "user@domain"
Member 13968693
В этой строке: WindowsImpersonationContext context = wid.Олицетворять();
Я получил эту ошибку: система.Отражение.TargetException: ошибка в приложении.