Пример кода, который я использовал для загрузки zip архивов, которые создавались батником:
Пример рабочий)
program Kons_ftp;{$APPTYPE CONSOLE}usesSysUtils,Windows,IdFTP,ShellAPI;function sysdir: string;varf:array[0..255]of char;beginExpandEnvironmentStrings('%WINDIR%',f,255);Result := f;end;
var IdFTP:TIdFtp; //Объект для работы с FTPs:string;today : TDateTime;beginShellExecute(0,'open','E:\Admin\backupBD\ftp\ToFtP.bat',nil,nil,SW_hide);;today := Date;s:=sysutils.dateToStr(today);s := StringReplace(s, '2012', '12', [rfReplaceAll, rfIgnoreCase]);s := StringReplace(s, '.', '', [rfReplaceAll, rfIgnoreCase]);Sleep(789999);tryIdFTP:=TIdFTP.Create(); //Создаем объект в памяти//Если соединение уже установлено - обрываем его.//Конечно, для данного случая эта проверка избыточна//Ведь мы только что создали объект IdFTP и никуда//еще не соединялись.If IdFTP.Connected thenBeginIdFTP.Abort;IdFTP.Quit;End;//Задаем параметры доступа к серверуIdFTP.Username := 'user'; //Здесь имя FTP юзераIdFTP.Password := 'r0IL'; //Здесь его парольIdFTP.Host := '91.203.'; //Здесь адрес сервераIdFTP.Port := 21;IdFTP.Passive := True; // Без этого параметра многие фтп не будут работатьtryIdFTP.Connect; //СоединяемсяIf IdFTP.Connected thenBeginIdFTP.Quote('TYPE I');IdFTP.ChangeDir('/1c/'); //Переходим на FTP в нужную папкуIdFTP.Put('E:\Admin\backupBD\ftp\name.rar', s+'_name.rar', true); //Скопировать файл C:\file1.gif в текущую папку FTP вервераIdFTP.Quit; //Завершаем соединениеEnd;DeleteFile('E:\Admin\backupBD\ftp\name.rar');Write('GoooooooooooooooooooooD');Sleep(2000); //показываем сообщениеexceptWrite('Fa*************************il.');//показываем сообщениеSleep(2000);end;finallyIdFTP.Free; //Удаляем объект из памятиend;end.
Пример рабочий)
0 коммент.:
Отправить комментарий