我正在尝试将文件复制到映射的网络位置。 如果我尝试手动完成一切正常。
通过运行以下代码,我没有得到任何例外,但我没有在所需位置获取代码。
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);
}
有关该问题的任何建议。
答案 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
的撰写权限。
简单方法找到共享文件夹:
Run
对话框。\\ComputerNetworIdentity