我必须从同一网络中的远程目录中复制文件。我成功访问了这个目录:
string[] parts = Regex.Split(@directory_path, @"\\");
// l'emplacement de repertoire \\nom de la machine\nomde repertoire
string distant_directory = @"\\"+Environment.MachineName+ @"\" + parts[parts.Length - 2];
string local_directory = @"StlDirectory";
CopyDir(distant_directory, local_directory);
副本的功能如下:
public void CopyDir(string sourceDir, string destDir)
{
DirectoryInfo dir = new DirectoryInfo(sourceDir);
if (dir.Exists)
{
string realDestDir;
if (dir.Root.Name != dir.Name)
{
realDestDir = System.IO.Path.Combine(destDir, dir.Name);
if (!Directory.Exists(realDestDir))
Directory.CreateDirectory(realDestDir);
}
else realDestDir = destDir;
foreach (string d in Directory.GetDirectories(sourceDir))
CopyDir(d, realDestDir);
foreach (string file in Directory.GetFiles(sourceDir))
{
string fileNameDest = System.IO.Path.Combine(realDestDir, System.IO.Path.GetFileName(file));
if (!File.Exists(fileNameDest))
File.Copy(file, fileNameDest, true);
}
}
}
但是出现错误Could not find a part of the path 'StlDirectory \ BM529234-CRL39-LF.stl'
。
答案 0 :(得分:0)
您是否确保应用程序IIS应用程序池等具有访问此目录的安全权限?
答案 1 :(得分:0)
我认为即使目的地剧目不存在,副本的功能仍然有效(创建剧目+副本)但事实并非如此