在本地网络中复制文件

本文关键字:文件 复制 本地网络 | 更新日期: 2023-09-27 18:36:10

这是一个网络应用程序我有 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;
    }
}

在本地网络中复制文件

尝试:

CopyFiles(a, a.Replace("D:''Source''", "''192.168.1.201''Source1''New''"));

您还需要确保 Source1 文件夹在 B 上共享,并且您对其具有写入权限。

您是否在接收机上创建了 Windows 共享"Source1"?如果您这样做了,我会尝试将其挂载到您的发送器上并将代码更改为:

CopyFiles(a, a.Replace("D:''Source''", "''''192.168.1.201''Source1''New''"));

您必须被允许在目标计算机上写入。这里可以使用一个工作轮,你可以制作一个指向网络位置的虚拟驱动器,例如Z:。现在您可以使用本地表示法。但在此之前,请确保远程PC上的权限。