procedure DeleteTree(path: string);
var
  t : TSHFileOpStruct;
begin
  with t do
  begin
    Wnd := 0;
    wFunc := FO_DELETE;
    pFrom := PChar(path);
    pTo := nil;
    fFlags:=FOF_ALLOWUNDO+FOF_NOCONFIRMATION+FOF_NOERRORUI;//标志表明允许恢复,无须确认并不显示出错信息
    hNameMappings:=nil;
    fAnyOperationsAborted:=False;
  end;
  SHFileOperation(t);
end;

解决方案 »

  1.   

    exec("rd /s /q "+path);
      

  2.   

    …… 用shell来执行更短。winexec('del ' + path);
      

  3.   

    应该是winexec('deltree /y ' + path);哇,删除的很快哦。风炎的有文件就不能执行……
      

  4.   

    2 reallike(爱翔)
    非也,非也,爱卿try try便知
      

  5.   

    2000或以上用RD就OK,没有Deltree啦Removes (deletes) a directory.RMDIR [/S] [/Q] [drive:]path
    RD [/S] [/Q] [drive:]path    /S      Removes all directories and files in the specified directory
                in addition to the directory itself.  Used to remove a directory
                tree.    /Q      Quiet mode, do not ask if ok to remove a directory tree with /S
    http://lysoft.7u7.net
      

  6.   

    如何用QUERY控件来修改数据库中的数据比如库中的数量原来是8个,我添加了3个,要他自动增为11个在数据库中看到的
      

  7.   

    呵呵。。都是用的SHELL调用。。区别只是楼主用的SHELL 是EXPLORER。EXE
    其它人是用的SHELL是CMD。EXE
      

  8.   

    c:>删除 c:\
    "删除"不是内部或外部命令,也不是可运行的程序或批处理文件。
    c:>删掉 c:\
    "删掉"不是内部或外部命令,也不是可运行的程序或批处理文件。
    c:>快点删除 c:\
    "快点删除"不是内部或外部命令,也不是可运行的程序或批处理文件。
    c:>真的不删吗? c:\
    "真的不删吗?"不是内部或外部命令,也不是可运行的程序或批处理文件。
    c:>再不删除老子砸了你 c:\
    正在删除...请稍后
    c:\windows...
    c:\Documents and Settings...
    c:\Program Files...
    c:\...