尝试将文件从我的计算机复制到同一网络上的另一台计算机

Trying to copy a file from my computer to another computer on the same network

这是我的代码:

private void button1_Click(object sender, EventArgs e)
{
   try
   {
      File.Copy(@"C:\Documents and Settings\subhayan\Desktop\QBpluginlink.txt", @"\10.10.10.148\C:\QBpluginlink.txt", true);
   }
   catch (Exception ex)
   {
   }
}

执行此代码时出现异常

The given path's format is not supported

谁能告诉我我哪里弄错了?

问题是您要将文件复制到的 UNC 路径中的 C:。您可以将其更改为目标计算机上的有效共享,也可以使用管理共享(如果已启用并且帐户有足够的权限这样做):

@"\10.10.10.48\ValidShareName\QBpluginlink.txt", // Valid share name

@"\10.10.10.48\C$\QBpluginlink.txt", // Administrative share

即使您在 windows 资源管理器中尝试,该路径也不会起作用。如果您有权限尝试正确的文件共享 UNC 路径:

\10.10.10.148\c$\QBpluginlink.txt

请注意 c$,它是 windows 设置的默认管理共享,用于访问 C: 驱动器 - 但您需要正确的权限。或者根据 Markus 的回答创建一个特定的共享。

目标必须是有效的文件路径,在您的情况下是有效的 UNC 路径。

"\10.10.10.48\C:\QBpluginlink.txt" 无效,因为您正在引用该计算机的 c: 驱动器,您需要在目标服务器中创建一个共享文件夹并使用该路径。

或者使用默认驱动器共享:例如\10.10.10.48\C$\QBpluginlink.txt

来自 MSDN:

    string fileName = @"QBpluginlink.txt";
    string sourcePath = @"C:\Documents and Settings\subhayan\Desktop";
    string targetPath =  @"\10.10.10.148\C$";

    // Use Path class to manipulate file and directory paths.
    string sourceFile = System.IO.Path.Combine(sourcePath, fileName);
    string destFile = System.IO.Path.Combine(targetPath, fileName);

    // To copy a folder's contents to a new location:
    // Create a new target folder, if necessary.
    if (!System.IO.Directory.Exists(targetPath))
    {
        System.IO.Directory.CreateDirectory(targetPath);
    }

    // To copy a file to another location and 
    // overwrite the destination file if it already exists.
    System.IO.File.Copy(sourceFile, destFile, true);

请确保您有权将文件复制到服务器