我想从一个FTP站点下载文件,比如ftp://ftp.genome/pub/
这个FTP站点的pub/下有很多子目录,我想分别从每个子目录里下载文件,
不想一个一个手工下载,希望批处理,能实现吗?谢谢!

解决方案 »

  1.   

    uses UrlMon;function DownloadFile(SourceFile, DestFile: string): Boolean;
    begin
      try
        Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0;
      except
        Result := False;
      end; 
    end; procedure TForm1.Button1Click(Sender: TObject);
    var
      i,j: Integer;
      Source,Dest,ext: OleVariant;
    begin
      WebBrowser1.Navigate('http://www.xxx.com');
      while WebBrowser1.ReadyState < READYSTATE_COMPLETE do
        Application.ProcessMessages;  if WebBrowser1.OleObject.Document.all.tags('A').Length = 0 then Exit;
      Memo1.Clear;  for i := 0 to WebBrowser1.OleObject.Document.all.tags('A').Length - 1 do
      begin
        Source := WebBrowser1.OleObject.Document.all.tags('A').Item(i);
        j := LastDelimiter('.', Source);
        ext := UpperCase(Copy(Source, j+1, Length(Source)));    if (ext = 'RAR') or (ext = 'ZIP') then
        begin
          Memo1.Lines.Add(Source.innerText + ': ' + Source.href);
          Dest := ExtractFilePath(ParamStr(0)) + Source.innerText;
          DownloadFile(Source, Dest);
        end;
      end;
    end;説明:用「TWebBrowser」控件、下载网页中<a href="...">
    这是我重别人的贴上拷的,看看应该有点用。