文件删除问题

huangyj 2010-07-19 10:31:04
使用Directory.Delete(szDir, true);过程中,发现无法删除文件,系统的错误日志为:
Access to the path 'C:\*\*\*\*.ini' is denied.
也就是无法访问这个文件。
但是这些文件我在 CMD 中用 Del 命令是可以成功删除的。

请各位大侠指教。
...全文
157 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangyj 2010-07-20
  • 打赏
  • 举报
回复
看来只能写程序调用CMD命令进行文件删除了,目前已经运行良好。

谢谢各位大侠的帮助。
贾志轩 2010-07-20
  • 打赏
  • 举报
回复
private void deletefile(System.IO.DirectoryInfo path)
{
foreach (System.IO.DirectoryInfo d in path.GetDirectories())
{
deletefile(d);
}
foreach (System.IO.FileInfo f in path.GetFiles())
{
f.Delete();
}
}
protected void Button2_Click(object sender, EventArgs e)
{
System.IO.DirectoryInfo path = new System.IO.DirectoryInfo(Server.MapPath("../ChartImages"));
deletefile(path);
}
虽然不太明白你的意思,但是写一段删除文件夹的,这个我自己用的,当然在服务器开启文件夹权限时可用
huwen7565833 2010-07-20
  • 打赏
  • 举报
回复
既然好了,那就关注一下啊!!!!
zjx198934 2010-07-19
  • 打赏
  • 举报
回复
LZ想在文件正在被操作的时候删除它吗? 这似乎在我的认知范围之外
应该确保文件未被使用的前提下操作它!
huangyj 2010-07-19
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 xunzhaohexie1 的回复:]
如果因为被占用你可以在删除前加上

foreach(Process p in Process.GetProcesses("进程名字"))
{
p.Kill();
}

将其强行关闭,,然后再进行删除,,当然这要建立在你知道此文件运行时的进程名
比如你打开一个 Excel 文件 那么 进程名字换成 Excel 就OK了
[/Quote]

这个方法确实可以,不过我不想杀占用进程,我希望实现 CMD 命令行中实现的 删除功能。
xunzhaohexie1 2010-07-19
  • 打赏
  • 举报
回复
如果因为被占用你可以在删除前加上

foreach(Process p in Process.GetProcesses("进程名字"))
{
p.Kill();
}

将其强行关闭,,然后再进行删除,,当然这要建立在你知道此文件运行时的进程名
比如你打开一个 Excel 文件 那么 进程名字换成 Excel 就OK了
huangyj 2010-07-19
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 zzyzgydotnet 的回复:]
增加参数强制删除
[/Quote]

增加参数强制删除?能否详细点,没有查到这个方法具备强制删除的功能。
huangyj 2010-07-19
  • 打赏
  • 举报
回复
文件应该是被其他程序占用了。

我想知道 DEL 命令可以删除的前提下,是否能有办法让程序自动删除呢?
zzyzgydotnet 2010-07-19
  • 打赏
  • 举报
回复
增加参数强制删除
wwfgu00ing 2010-07-19
  • 打赏
  • 举报
回复
是否是被某一个进程占用了
dancingbit 2010-07-19
  • 打赏
  • 举报
回复
你的程序中打开了这个文件没有关闭。
air123456789 2010-07-19
  • 打赏
  • 举报
回复
已打开? 只读? 权限。等等。
huangyj 2010-07-19
  • 打赏
  • 举报
回复
但是用 Del 命令是可以删除的,当然,这些文件本来是被一个软件锁住了。我用方法解锁了,然后用Del命令删掉了。

现在想用软件自动删除,但是目前存在这个问题。
卧_槽 2010-07-19
  • 打赏
  • 举报
回复
文件操作是件非常烦人的事情。
删除不掉有很多可能性。
mayonglong 2010-07-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 miaoyu04 的回复:]
目录权限问题
[/Quote]
UnauthorizedAccessException
bdmh 2010-07-19
  • 打赏
  • 举报
回复
检查文件是否为只读
兔子-顾问 2010-07-19
  • 打赏
  • 举报
回复
可能软件删除的时候那个文件还正在被独占打开没关闭。
miaoyu04 2010-07-19
  • 打赏
  • 举报
回复
目录权限问题
huangyj 2010-07-19
  • 打赏
  • 举报
回复
在CMD窗口中,用 DEL 命令能删除的东西,怎么就不能用程序删除呢?应该是实现的方式不一样导致的。

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧