![](/img/trans.png)
[英]Programmatically get the full path of a shared folder on another computer?
[英]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
具有写权限。
查找共享文件夹的简单方法 :
Run
对话框。 \\\\ComputerNetworIdentity
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.