不能删除有内容的文件夹

byhumzhao 2008-03-19 10:54:50
System.IO.Directory.Delete(@"D:\Oracle",true);

资料上说条件为true可删除有内容的文件夹,oracle文件夹下有“驱动”子文件夹,执行上述语句后弹出:
对路径"D:\Oracle\驱动"的访问被拒绝

请问这是为何?
...全文
129 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
超级大笨狼 2009-01-15
  • 打赏
  • 举报
回复
权限
aimeast 2009-01-15
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 duping9626 的回复:]
1.是否有权限删除
2.文件是否有进程正在访问
[/Quote]

就是这两个问题
byhumzhao 2009-01-15
  • 打赏
  • 举报
回复
直接删是没有问题的啊
journeydj 2008-03-19
  • 打赏
  • 举报
回复
最常出现这种错误的是先用其他的方法读过文件但是没有关,再删肯定报错
  • 打赏
  • 举报
回复
@全括号内的全部转义符号 \ 成为真正的字符串"\"
如果不加@
可以用\\ 也可以让转义字符\ 成为字符串"\"
要这样使用主要是以为\带有其他含义
duping9626 2008-03-19
  • 打赏
  • 举报
回复
1.是否有权限删除
2.文件是否有进程正在访问
byhumzhao 2008-03-19
  • 打赏
  • 举报
回复
这个oracle文件夹是我自已临时建的,里面的驱动文件夹也是临时建的,根本没有任何进程和它们相关,也没有任务服务与它们相关,@这个符号是为了进行转义,去掉也行,换种写法还是不行
guodashao 2008-03-19
  • 打赏
  • 举报
回复
你删除oracle的文件,要有权限的.而且如果那是oracle的程序文件.不卸载oracle,停了服务.你删不掉的.
ericzhangbo1982111 2008-03-19
  • 打赏
  • 举报
回复
System.IO.Directory.Delete("D:\\Oracle",true);
等于
System.IO.Directory.Delete(@"D:\Oracle",true);

oracle里面的文件有别的进程在用
任务管理器
或者
Process.GetProcess();
whq1982 2008-03-19
  • 打赏
  • 举报
回复
@表示不进行转义
gouhan02 2008-03-19
  • 打赏
  • 举报
回复
System.IO.Directory.Delete("D:\\Oracle",true);
我是这样的写法
csrwgs 2008-03-19
  • 打赏
  • 举报
回复
2L强悍
不关@的事
gouhan02 2008-03-19
  • 打赏
  • 举报
回复
不好意思,@这个符号写不写都无所谓呀?干吗要写这个。。
gouhan02 2008-03-19
  • 打赏
  • 举报
回复
System.IO.Directory.Delete(@"D:\Oracle",true);
去掉@,我不知道你这个符号放进去时什么意思。这样就可以了,Oracle是文件夹名称
Macosx 2008-03-19
  • 打赏
  • 举报
回复
看看是不是有进程正在使用D:\Oracle\驱动
xsir317 2008-03-19
  • 打赏
  • 举报
回复
直接windows里面删看能删掉么?

你打个断点跑一下,跑到删除那句前面,停下来,切换到windows去手动删看看。
ericzhangbo1982111 2008-03-19
  • 打赏
  • 举报
回复
你不再程序里删除那个文件夹,看看能不能删除
byhumzhao 2008-03-19
  • 打赏
  • 举报
回复
这个错误和进程,服务,权限以及文件关没关都没有关系的,这点我可以肯定,还是代码写的不对
byhumzhao 2008-03-19
  • 打赏
  • 举报
回复
我是读过文件,但是关掉了,再删也不行,13楼的兄弟,能说得再清楚一些吗?
lake_cx 2008-03-19
  • 打赏
  • 举报
回复
因为你用Explorer去删除那个文件夹也删不掉

110,539

社区成员

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

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

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