File.Copy - DirectoryNotFoundException未处理

时间:2012-11-28 16:26:59

标签: c# file copy

当我使用此代码时,它不会抛出任何错误,但它仍然不会复制任何内容。有什么想法?。

 //string spath = string.Format("S:\\ 0A36303 / user:admin");
                DateTime theDate = dateTimePicker1.Value.Date;
                DirectoryInfo Dir = new DirectoryInfo("S:");
                string dircreate = string.Format(@"N:\{0:MM-dd-yyyy}\" + label1.Text + "LogFiles", dateTimePicker1.Value.Date, label1.Text);
                DirectoryInfo target = new DirectoryInfo(dircreate);


                FileInfo[] fis = Dir.GetFiles( ".txt", SearchOption.AllDirectories);
                foreach (FileInfo fi in fis)
                {
                    if (fi.LastWriteTime.Date == theDate)
                    {
                        File.Copy(fi.FullName, target.FullName + @"\" + fi.Name, true);
                    }

                }
            }
        }
    }

2 个答案:

答案 0 :(得分:0)

尝试使用完整的UNC路径访问该文件:

DirectoryInfo Dir = new DirectoryInfo(@"\\server\\share\\pathtofile");

答案 1 :(得分:0)

我想到了两个可能的问题:

  1. S:\PC.log文件不存在=>你不能复制不存在的文件
  2. 您正在执行代码的过程没有对指定文件夹(S:)的读取权限。看起来像一个网络共享。如果您在ASP.NET应用程序中运行此代码,则该进程可能没有对此远程共享的读取权限=>您无法复制您无权访问的文件。