-1

我有这个方法

 public void Copy(string sourcePath, string destPath)
 {
     string[] files= Directory.GetFiles(sourcePath);
     for (int i = 0; i < files.Length; i++)
     {
         try
         {
             File.Copy(files[i], destPath);
         }
         catch
         {
             try
             {
                 File.Replace(files[i], destPath, null);
             }
             catch (Exception ex)
             {
                 MessageBox.Show(ex.Message);
             }
         }
    }
}

当我运行它时,我得到未经授权的访问异常,访问被拒绝!任何帮助!

4

2 回答 2

3

此异常包含在File.Copy 的文档中:

The caller does not have the required permission.
-or-
destFileName is read-only.

第一次复制后检查文件的属性。权限是您所期望的吗?你需要你的程序运行提升(作为管理员)?

于 2014-05-05T09:42:47.797 回答
1

以下原因可能:

sourceFileName 或destinationFileName 参数指定只读文件。

- 或 - 当前平台不支持此操作。

- 或 - 源或目标参数指定目录而不是文件。

- 或 - 调用者没有所需的权限。

阅读链接: http: //msdn.microsoft.com/en-us/library/9etk7xw2 (v=vs.110).aspx

于 2014-05-05T09:49:55.823 回答