这是一个Web应用程序 我有2台电脑:A:192.168.1.200和B:192.168.1.201,我想要从A到B的复制,这个代码工作是单个电脑,但它不能在网络中工作。
protected void Button1_Click(object sender, EventArgs e)
{
string sourcePath = @"D:\Source\";
string[] filePaths = Directory.GetFiles(sourcePath, "*.txt");
foreach (string a in filePaths)
{
CopyFiles(a, a.Replace("D:\\Source\\", "D:\\Source1\\New\\"));
//CopyFiles(a, a.Replace("D:\\Source\\", "192.168.1.201\\Source1\\New\\"));
}
}
private bool CopyFiles(string Source, string Destn)
{
try
{
if (File.Exists(Source) == true)
{
File.Copy(Source, Destn);
return true;
}
else
{
Response.Write("Source path . does not exist");
return false;
}
}
catch (FileNotFoundException exFile)
{
Response.Write("File Not Found " + exFile.Message);
return false;
}
catch (DirectoryNotFoundException exDir)
{
Response.Write("Directory Not Found " + exDir.Message);
return false;
}
catch (Exception ex)
{
Response.Write(ex.Message);
return false;
}
}
答案 0 :(得分:0)
尝试:
CopyFiles(a, a.Replace("D:\\Source\\", "\\192.168.1.201\\Source1\\New\\"));
您还需要确保在B上共享Source1文件夹,并且您具有对它的写入权限。
答案 1 :(得分:0)
您是否在接收器计算机上创建了Windows共享“Source1”? 如果您这样做,我会尝试将其安装在您的发送方计算机上并将代码更改为:
CopyFiles(a, a.Replace("D:\\Source\\", "\\\\192.168.1.201\\Source1\\New\\"));
答案 2 :(得分:0)
必须允许您在目标计算机上写入。这里可以使用工作轮,你可以使虚拟驱动器指向网络位置,例如Z:。现在您可以使用本地表示法。但在此之前,请确保远程PC上的权限。