删除文件时出现C#访问错误

时间:2010-11-02 13:10:23

标签: c# .net

在我的C驱动器上将bat文件(File.Copy())从一个位置复制到另一个位置时使用c#并关闭程序然后运行另一个程序并尝试删除该文件(File.Delete())我得到一个错误: 访问路径“C:... \ file.bat”被拒绝。

所以我认为这是oroginal文件的权限问题。

然后我运行一个创建文件的程序(File.Create()),关闭程序并转到2文件的属性,然后查看安全选项卡,权限完全相同!

当我运行程序删除第二个文件时,我没有收到错误。那么为什么我在使用File.Copy创建的文件上出现错误?

4 个答案:

答案 0 :(得分:2)

如果您确定您有足够的权限删除该文件,我怀疑问题是这样的,您正在尝试在文件仍处于打开状态时或在某个过程中删除该文件。所以请确保该文件是当您调用File.Delete方法

时,它不会打开并且不受所有其他进程的影响

答案 1 :(得分:2)

啊,当我这样做时: File.SetAttributes(@“C:... bat”,FileAttributes.Normal);

我可以删除!

全部谢谢

答案 2 :(得分:0)

重要的是知道你是否

1)正在使用 Windows 7或Vista ,文件位于需要管理员访问才能删除的位置。

2)如果你以不同的身份运行这些应用程序,例如一个是服务器

3)文件的位置

4)在原始文件上设置的特殊访问权限,通过

复制

答案 3 :(得分:0)

如果你突然关闭C#程序而没有关闭文件(或者它从未关闭文件),就会发生这种情况。在这种情况下,文件“正在使用”,有时可能会将消息解释为安全问题。