无法删除目录?(5分)

  • 主题发起人 主题发起人 Gingerzy
  • 开始时间 开始时间
G

Gingerzy

Unregistered / Unconfirmed
GUEST, unregistred user!
我用的是win2000个人版,删除目录时,报以下错误:

无法删除目录XX:目录非空
我怀疑是中了病毒,可我用最新的杀毒软件没有发现病毒,到底是怎么回事呀?谢谢
 
你的磁盘可能出现错误了,整理一下磁盘再删除,不过强烈建议你在整理之前,
将重要文件备份一下,有时可能因为磁盘文件分配表的错误引起更多的问题.
 
你装了病毒防火墙吧,把它关掉或暂停先,等删掉后再打开。
尤其金山的会出现这种现象。
 
我也发现了这个问题。我怀疑是win2k的bug。
csdn也有人这么说。

这种情况尤其发生在安装的大型系统,如Oracle,因为卸载不掉,我就直接删除,
可是删了不下20次,都是删了一点点文件,然后报“××目录非空”,气死人了。
后来,找到一个算法,用程序删,现在没有问题了。

想要这个软件,留下mail,算法也给你。
 
to wukw:
谢谢,pza6789@163.com.
 
为什么不用win98启动盘引导计算机,然后在dos界面删除呢?(如果是fat32的话)
 
// 删除目录
void DeleteDirectory(CString strDir)
{
if(strDir.IsEmpty()) {
RemoveDirectory(strDir);
return;
}
// 首先删除文件及子文件夹
CFileFind ff;
BOOL bFound = ff.FindFile(strDir+"//*", 0);
while(bFound)
{
bFound = ff.FindNextFile();
if(ff.GetFileName()=="."||ff.GetFileName()=="..")
continue;
// 去掉文件(夹)只读等属性
SetFileAttributes(ff.GetFilePath(), FILE_ATTRIBUTE_NORMAL);
if(ff.IsDirectory()) { // 递归删除子文件夹
DeleteDirectory(ff.GetFilePath());
RemoveDirectory(ff.GetFilePath());
}
else {
DeleteFile(ff.GetFilePath()); // 删除文件
}
}
ff.Close();
// 然后删除该文件夹
RemoveDirectory(strDir);
}
 
其实Win2000就存在这个问题,不是什么病毒
其实,提示目录非空的同时也进行了删除操作,你不断地删就可以把它删掉了!
 
接受答案了.
 

Similar threads

D
回复
0
查看
866
DelphiTeacher的专栏
D
D
回复
0
查看
835
DelphiTeacher的专栏
D
D
回复
0
查看
784
DelphiTeacher的专栏
D
后退
顶部