繁体   English   中英

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

[英]copy a file to shared folder on another computer

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

通过运行以下代码,我不会得到任何异常,但不会在所需的位置得到代码。

     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);
     }

关于该问题的任何建议。

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

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

这将永远无法工作:

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

为什么不? 因为快捷方式基本上是一个文件 ,而不是一个文件夹 (它比这更复杂,但是出于参数的考虑,我将其保持简单)。 您不能将文件(或其他任何文件)放入快捷方式。 您只能使用快捷方式打开它。

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

这将起作用:

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

看来目标路径_sharedLocation也指的是本地路径,而不是远程路径。

我猜您sharedLocation路径无效。

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

问题 :您的共享路径引用同一台计算机的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. 找到网络计算机共享的文件夹。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM