On-line: гостей 2. Всего: 2 [подробнее..]
АвторСообщение



Пост N: 10
Зарегистрирован: 02.07.12
ссылка на сообщение  Отправлено: 22.04.13 20:27. Заголовок: Непонятка с приемом файлов с FTP


Есть следующая задача, получение энного кол-ва файлов с FTP, которые попадают на FTP с рабочих машин скажем так сотрудников, необходимо этот процесс автоматизировать, дабы ручками не собирать их в архив. Для этого была написана программа для рекурсивного получения файлов с источника (то есть с ФТП). На фтп есть папки с видом код рабочего места -> дата за которую передана информация (где то так gerc\67701\22.04.2012\*.)
Само получение информации с одного рабочего места проблем не возникает, но если в листинге программы далее идет получение информации с другого рабочего места, то в результате команда ЛИСТ получается пустая и соответственно файл(ы) не получены.
вот часть листинга, с подробным описанием, где по вашему мнению может быть ошибка? Используется МиниГуи только для получения результатов на экран.

Скрытый текст


смотрел логи, в логе команда лист по 2-й точке (67703) показывает что нет файлов в данном каталоге, а точнее вообще ничего не показывает...
Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 63 , стр: 1 2 3 4 All [только новые]


администратор




Пост N: 3075
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.04.13 20:45. Заголовок: Eduard пишет: oFTP:..


Eduard пишет:

 цитата:
oFTP:CDUP() // новая команда, добавлена в ftpcli.prg, так как там нет такого метода //перемещается на предыдущий каталог
oFTP:CDUP() /-
oFTP:CDUP() // корневой каталог


Вероятно перед этим нужно проверить а был ли осуществлен прием файлов из предыдущего каталога и только после этого если он был
и давать ряд команд oFTP:CDUP()
Я хочу сказать что ты не оказываешься в нужном каталоге вот LIST ни чего и не находит.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 11
Зарегистрирован: 02.07.12
ссылка на сообщение  Отправлено: 22.04.13 21:04. Заголовок: Dima пишет: Вероятн..


Dima пишет:

 цитата:
Вероятно перед этим нужно проверить а был ли осуществлен прием файлов из предыдущего каталога и только после этого если он был
и давать ряд команд oFTP:CDUP()
Я хочу сказать что ты не оказываешься в нужном каталоге вот LIST ни чего и не находит.


согласно лога, файлы были успешно получены, после перешли командой oFTP:CDUP()
Может еще какую ту команду надо добавить?
в приложении лог

Скрытый текст





Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3076
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.04.13 21:10. Заголовок: Eduard пишет: FOR E..


Eduard пишет:

 цитата:
FOR EACH cFile IN oFTP:listfiles(cFile)



А если немного переделать
FOR EACH XFile IN oFTP:listfiles(cFile)

После первого FOR EACH интересно чему будет равняться cFile ?
Вероятно уже не *.PSB а что то типа blabla.PSB

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 12
Зарегистрирован: 02.07.12
ссылка на сообщение  Отправлено: 22.04.13 22:18. Заголовок: Другие варианты есть?


Текст то я подправил, еще варианты есть почему не хочет закачивать вторую дальше по тексту ...

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3077
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.04.13 22:21. Заголовок: Eduard Eduard пише..


Eduard

Eduard пишет:

 цитата:
FOR EACH cFile IN oFTP:listfiles(cFile)



Чему равна переменная cFile перед вторым FOR EACH если учесть что первый FOR EACH тоже отработал ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 13
Зарегистрирован: 02.07.12
ссылка на сообщение  Отправлено: 22.04.13 22:34. Заголовок: Тоже самое, все файл..


Тоже самое, все файлы имеют расширение одно и тоже, только первая часть меняется (типа того r10101ef.PSB, r101028u.PSB) и в заданой папке их может лежать от одного до несколько шт.
меняется только имя папки на сервере (типа 67703\...\)

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3078
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.04.13 22:36. Заголовок: Dima пишет: Чему ра..


Dima пишет:

 цитата:
Чему равна переменная cFile


Похоже не в этом дело.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 14
Зарегистрирован: 02.07.12
ссылка на сообщение  Отправлено: 22.04.13 22:37. Заголовок: пробовал во второй ч..


пробовал во второй части менять переменную (cFile) на другую, там же менял переменную в конце команды FOR EACH, закачивает только первую часть

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3079
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.04.13 22:40. Заголовок: я полагал что после ..


я полагал что после первого FOR EACH переменная cFile примет значение что то типа r10101ef.PSB и тогда
второй oftp:Listfiles будет уже срабатывать не по *.PSB а по r10101ef.PSB
Но накидал примерчик и понял что cFile остается прежним *.PSB

oFTP:CDUP() точно правильно работает ?

Да и проверки перехода в папку тоже не помешают
if oFtp:CWD( cPathFTP ) //переходим в каталог
if oFtp:CWD( "67701" ) // -/-
if oFTP:CWD(dt2) -//-

endif
endif
endif

Пробни вместо CDUP() -> CWD() в корень

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 15
Зарегистрирован: 02.07.12
ссылка на сообщение  Отправлено: 22.04.13 22:50. Заголовок: вот оригинал команды..


вот оригинал команды, вставленый в листинг модуля ftpcli.prg, так как сама команда отсутствует в hbtip
по логам фтп вроде нормально отрабатывает...

METHOD Cdup() CLASS tIPClientFTP
::InetSendall( ::SocketCon, "CDUP" + ::cCRLF )
RETURN ::GetReply()


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 16
Зарегистрирован: 02.07.12
ссылка на сообщение  Отправлено: 22.04.13 22:54. Заголовок: как указать корень в..


как указать корень в команде CWD?
CWD("/") ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 17
Зарегистрирован: 02.07.12
ссылка на сообщение  Отправлено: 22.04.13 23:10. Заголовок: Dima пишет: if oFt..


Dima пишет:

 цитата:

if oFtp:CWD( cPathFTP ) //переходим в каталог
if oFtp:CWD( "67701" ) // -/-
if oFTP:CWD(dt2) -//-

endif
endif
endif

Пробни вместо CDUP() -> CWD() в корень


поставил CWD() в корень, добавил условие проверки перед каталогом... получил тот же самый вариант. ничего не понимаю

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3080
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.04.13 23:13. Заголовок: CDUP это cwd ../ ?..


CDUP это cwd ../ ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3081
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.04.13 23:26. Заголовок: Eduard пишет: как у..


Eduard пишет:

 цитата:
как указать корень в команде CWD?


как то так cwd ../../ , смотря как глубоко ты залез ранее в папки
в твоем случае cwd ../../../

ЗЫ
А может в папке "67703" и далее нет файлов ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 1
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 23.04.13 06:20. Заголовок: Можно проверить допустимость CDUP


Можно проверить - допустима ли команда CDUP на этом экземпляре FTP сервера.
из командной строки интерактивно

ftp.exe имя_узла
Пользователь: имя_пользователя
Пароль: xxxxxx
ftp > help
Допускается сокращение команд при вводе. Набор команд:

! delete literal prompt send
? debug ls put status
append dir mdelete pwd trace
ascii disconnect mdir quit type
bell get mget quote user
binary glob mkdir recv verbose
bye hash mls remotehelp
cd help mput rename
close lcd open rmdir
ftp>by

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 18
Зарегистрирован: 02.07.12
ссылка на сообщение  Отправлено: 23.04.13 08:50. Заголовок: CDUP как показала пр..


CDUP как показала проверка моего ftp-сервера не поддерживается. В корень хожу с помощью команды cwd... и тем не менее обработка заканчивается на первом условии FOR EACH cFile IN oFTP:listfiles(cFile) и дальше не идет...

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3082
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 23.04.13 08:52. Заголовок: Eduard пишет: CDUP ..


Eduard пишет:

 цитата:
CDUP как показала проверка моего ftp-сервера


Тогда вместо одного CDUP , делай один CWD(../)

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3083
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 23.04.13 08:55. Заголовок: А что за FTP сервер ..


А что за FTP сервер ? Не Golden FTP PRO случайно ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3084
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 23.04.13 09:06. Заголовок: petr707 пишет: Можн..


petr707 пишет:

 цитата:
Можно проверить - допустима ли команда CDUP на этом экземпляре FTP сервера.
из командной строки интерактивно


Кстати да эффективно и просто (или можно юзануть FlashFXP)
Проделай все тоже самое что делаешь из программы.
Сменил каталог и тд , получил лист .....пошел в корень ,cменил каталог и тд , получил лист.
Идея ясна ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 19
Зарегистрирован: 02.07.12
ссылка на сообщение  Отправлено: 23.04.13 09:24. Заголовок: BulletProof FTP Serv..


BulletProof FTP Server используется, попробую еще обновить серверную часть FTP на более новую версию

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 63 , стр: 1 2 3 4 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 9
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет