拒绝访问该路径

时间:2011-11-25 03:44:48

标签: c# file-io

我正在从我的学校做一个项目,我正在尝试从Windows XP中删除一个文件。

但是,即使我设置了文件的属性,我也会遇到此错误。

  

拒绝访问路径“

该文件位于C:\Document and Settings\%user%\Local Settings\Temp

如何解决这个问题?

if(File.Exists(filePath))
{                   
  FileSecurity sec = File.GetAccessControl(filePath);
  sec.AddAccessRule(new FileSystemAccessRule(Environment.UserName,
                    FileSystemRights.FullControl, AccessControlType.Allow));
  File.SetAccessControl(filePath, sec); 
  File.SetAttributes(filePath, FileAttributes.Normal);
  File.Delete(filePath);
}

4 个答案:

答案 0 :(得分:2)

FileSecurity设置文件本身的权限。这一切都很棒但并不意味着你有权删除它。尝试以管理员身份运行您的应用,看看是否有所作为。

答案 1 :(得分:0)

这意味着另一个程序正在使用该文件 您必须先将文件(或整个程序)关闭,然后才能将其删除。

如果您的程序使用该文件,请务必关闭(而不是交叉)流。

答案 2 :(得分:0)

检查您是否具有删除文件的“管理员”或相关权限。

如果您拥有管理员权限,请检查您提到的文件是否具有其他“权限”Ex:少数MS文件无法删除。

检查您是否指定了正确的文件名。

如果您已经验证了所有这些内容,那么您已将此文件打开,或者在您的代码中未将其关闭以将其删除。

即使上述解决方案不起作用,此文件也已损坏,或者其他一些用户或您自己仍在使用未关闭的此文件。

答案 3 :(得分:0)

到目前为止,代码块还可以。

但请记住以下事项:

一个。对于Windows XP,与您登录的用户一起 - 确保用户在管理员组中,并且用户将具有管理员权限,因此用户运行的任何应用程序都将具有管理员权限。

湾如果是其他更新的Windows,如Vista,Windows 7,请尝试以管理员身份运行应用程序(右键单击应用程序并从弹出窗口单击“以管理员身份运行”,同时检查开发时间 - 以管理员身份运行IDE )。

希望这会有所帮助。