你的路径组合字符串有问题!好像多了一个“\”
第一次:D:\AA\BackUp\
第二次:D:\AA\BackUp\\Backup\
第三次:D:\AA\BackUp\\Backup\\Backup\

解决方案 »

  1.   

    你自己判断一直,如果目录不存在,创建一个
     ifnot DirectoryExists('c:\temp') then
        ifnot CreateDir('C:\temp') then
        raise Exception.Create('Cannot create c:\temp')
      

  2.   

    GetCurrentDir(); -> ExtractFileDir(ParamStr(0));当前目录 不是 执行程序 的 当前目录
      

  3.   

    对于正在执行的bk.exe,使用下面方法打开可以读:
    var f: TFileStream;
    begin
      f := TFileStream.Create('F:\Delphi6\Projects\Project1.exe',fmOpenRead + fmShareDenyNone);
    end;—————————————————————————————————
    MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
                 毁誉由人,望天上云卷云舒,聚散任风。';
    if Not Assigned(I) then
      I := TI.Create(Nil);
    I.Maxim := MaximStr;
    I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
    I.Desire := '加不加分随你';
    —————————————————————————————————
        
      

  4.   

    to netlib(河外孤星):
    你重复执行备份中的bk.exe三次,就出问题了!
      

  5.   

    1.当前目录:d:\aa  执行bk.exe   ok  生成:d:\aa\backup;
    2.当前目录:d:\aa\backup 执行当前目录下的bk.exe ,error 出错!
      

  6.   

    我连续备份了10多编都没有错误。
    生成了5层目录,第层目录我都试了三次,就是没有错误
    我把handle改成了,当前form的handle,
    在uses里加了一个shellapi;
    用的是windows2000+delphi6.0,我这里真的没有问题。
      

  7.   

    to netlib(河外孤星):十分感谢!
    我的环境xp+delphi 6
     d:\aa  bk.exe ok
     d:\aa\backup  bk.exe ok
     d:\aa\backup\backup bk.exe  error
     且目录被我删除为空后,删除目录提示:文件正被另一个人或程序使用.关闭任何可能使用这个文件地程序,重试一次!