0

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

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

                }
            }
        }
    }
4

2 回答 2

0

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

DirectoryInfo Dir = new DirectoryInfo(@"\\server\\share\\pathtofile");
于 2012-11-28T16:29:51.023 回答
0

想到两个可能的问题:

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