怎样快速删除一个文件夹,因为文件夹下包涵的子目录和文件太多(容量至少10G),我的想法是改变文件系统,直接把它标记为空,不作物理删除!具体怎么实现,还有别的方法吗?!
另外, 一个大文件(60G)在linux下用split分割成若干个小文件,在windows下怎么把它们合并成一个文件! 关键是系统对文件的容量的限制!

解决方案 »

  1.   

    在DOS下,我记得只要更改文件或者目录的一个字节(FAT扇区中),就可以标记为删除。Windows底下倒是没有研究。
      

  2.   

    SHFILEOPSTRUCT sfo;        sfo.hwnd = NULL;
            sfo.wFunc = FO_DELETE;
            sfo.pFrom = szBuf; // szBuf contains your DIR path
            sfo.pTo = NULL;
            sfo.fFlags = FOF_NOERRORUI | FOF_SILENT | FOF_NOCONFIRMATION;
            
            SHFileOperation(&sfo);
      

  3.   

    Mackz(在相互) 说的对,我现在就是想模仿DOS下的那种方式,不过文件系统是FAT32和NTFS!
      

  4.   

    Win9x的文件删除工作却是很简单的,简单到只在目录区做了一点小改动——将目录区的文件的第一个字符改成了E5就表示将改文件删除了。
      

  5.   

    有关NT/2K可以看看:
    http://www.csdn.net/develop/article/14/14910.shtm
      

  6.   

    如果格式和硬盘的容量都没问题,可以用相同的软件将其合并并存在使用的软件默认目录下,否则不能运行或正常使用分过的文件WINRAR也有分离文件的功能
      

  7.   

    to fhbkyo(琴月阳):
       是在服务器上, 这个方法不可行,别的数据量也是大的。
      

  8.   

    这样啊,那就没什么好办法了,如果你的电脑配置够高的话,删除文件应该不慢
    如果文件很多,再高的配置也是将文件一个一个删的,比如大家熟悉的QQ,它下面有很多头像文件(.bmp),在卸载过程中(后半段)将清楚地看到那些.BMP文件的删除过程
      

  9.   

    to fhbkyo(琴月阳):
       机器的配置是4个cpu,2G内存,直接删除试过,就是刚准备删除就一个多小时。根本不能这么做, 我觉得主要问题是子目录太多了!
      

  10.   

    to  3jaja(3++输入法) 
       在2000下有这个程序吗?
      

  11.   

    现在csdn怎么搞的,怎么不让我提前帖子!
    现在csdn怎么搞的,怎么不让我提前帖子!
      

  12.   

    To:Gladstone(大士)
    Win9x的文件删除工作却是很简单的,简单到只在目录区做了一点小改动——将目录区的文件的第一个字符改成了E5就表示将改文件删除了。那么原先占用的扇区不需要标记为“未使用”吗?
      

  13.   

    http://www.newhua.com/Comparator.htm没试过,也许对你有帮助
      

  14.   

    现在csdn怎么搞的,怎么不让我提前帖子!
      

  15.   

    RMDIR [/S] [/Q] [驱动器:]路径
    RD [/S] [/Q] [驱动器:]路径    /S      除目录本身外,还将删除指定目录下的所有子目录和
                文件。用于删除目录树。    /Q      安静模式,加 /S 时,删除目录树结构不再要求确认
      

  16.   

    To  steedhorse(晨星)
     其他的占用扇区不需要任何变动的。
    你可以随便建立一个文件,删除,在使用disk32.exe找到这个文件,看看它的该位标志为E5.
    而且,数据仍保留在原有的扇区(s)中。
      

  17.   

    to  Gladstone(大士)
      你对这个好像很有研究,能聊聊吗?欢迎各位指教:msn:[email protected]
      

  18.   

    WINDOWS操作系统都是段式、页式或者段页式来储存文件的,原理知道了就清楚删除文件的过程是怎么样的了,知道这之后你应该明白文件删除为什么会那么慢了
      

  19.   

    没有搞过,
    向你推荐一个网站,lu0.126.com, 站主应该对这方面比较熟悉吧。
    不过刚才怎么上不去了。
      

  20.   

    To:Gladstone(大士)
    我记得不是这样的,文件删除后,虽然数据还保留在扇区中,但FAT表中相关簇的占用标记已经被改为“未分配”了,也就是说,如果再新建文件,完全有可能占用这个簇。总之,我觉得DOS下删除文件,除了将FDT表相关记录的首字节改为“E5”之外,原先文件占用的簇所对应的FAT表中的状态标记还要改为“未分配”。手边没有资料可查,期待你的回复
      

  21.   

    是的,没错,是这样的。当一个文件被删除它所占用的所有簇在FAT表中的对应项要全被清零,
    以示其可以被再分配了(FAT表的组织宗旨:非零有有效数据,零无数据)。
    “其他的占用扇区不需要任何变动的”,我的意思是说,DATA区的那些该文件占用的簇中的
    Sectors 不需要去理会。
      

  22.   

    TO wltsui(前途未必光明,道路一定曲折!) :
    我也只是最近要用,才略知一二;知道的不多,愿一起切磋。
      

  23.   

    to Gladstone(大士) 
      有什么联系方式吗,我得msn:[email protected]
      

  24.   

    to Gladstone(大士) 
       你好,我的msn:[email protected],
      

  25.   

    在我看来,Windows的做法已经是很简单了,就是两件事情:1.清FAT表 2.把该Dir的entry的第一个Byte写为0xe5,表明被删除,数据其实还在里面。
    Gladstone(大士)和steedhorse(晨星)好像都没错,只是没有相互说清楚罢了。
    好像没有更简单的做法。