将文件复制到另一台计算机上的共享文件夹

时间:2014-04-22 09:03:56

标签: c# .net

我正在尝试将文件复制到映射的网络位置。 如果我尝试手动完成一切正常。

通过运行以下代码,我没有得到任何例外,但我没有在所需位置获取代码。

     string _sharedLocation = @"C:\Users\pddd\AppData\Roaming\Microsoft\Windows\Network Shortcuts\system-tests";

     if (Directory.Exists(_sharedLocation) && File.Exists(@"c:\\Automation\\Tests\\Test1\\events.json"))
     {
         File.Copy(@"c:\\Automation\\Tests\\Test1\\events.json", Path.Combine(_sharedLocation, "events11.json"), true);
     }

有关该问题的任何建议。

4 个答案:

答案 0 :(得分:1)

查看_SharedLocation变量,它位于:"...\Windows\Network Shortcuts\..."

我只是在这里猜测,但是你想要引用网络文件夹的快捷方式,而不是网络文件夹吗?

这永远不会奏效:

File.Copy(myOriginalFile, "C:\...\MyShortcutToANetworkFolder\myFile.txt");

为什么不呢?因为快捷方式基本上是文件,而不是文件夹(它比这更复杂,但是我保持简单的参数'为了这个缘故)。您不能将文件(或其他任何内容)放入快捷方式。你可以用快捷方式做的唯一事就是打开它。

您需要实际的网络文件夹路径。

这将有效:

File.Copy(myOriginalFile, "\\myServer\myFolder1\myFolder2\myFile.txt");

答案 1 :(得分:0)

目标路径_sharedLocation似乎也指本地路径,而不是远程路径。

答案 2 :(得分:0)

我猜你的sharedLocation路径无效。

如果您编写@“c:\”,它将引用运行代码的本地驱动器 所以请更正

答案 3 :(得分:0)

问题:您的共享路径是指同一台计算机的C:驱动器。可能你指的是映射网络位置的快捷方式。

 string _sharedLocation = @"C:\Users\pddd\AppData\Roaming\Microsoft\Windows\Network Shortcuts\system-tests";

应该是:

 string _sharedLocation = @"\\ComputerNetworkIdentity\SharedFolder\pddd\AppData\Roaming\Microsoft\Windows\Network Shortcuts\system-tests";

可以使用\\ComputerName找到共享计算机。 您必须拥有shared folder撰写权限。

简单方法找到共享文件夹

  1. 打开Run对话框。
  2. 使用前面的反斜杠键入计算机名称,例如\\ComputerNetworIdentity
  3. 找到网络计算机共享的文件夹。