Имя: Пароль:
IT
 
Автотправка файлов на ftp сервер
,
0 Coldboy
 
17.09.13
15:28
Здравствуйте. Хочу организовать отправку файлов из одной папки, для последующей обработки на ftp сервер, думаю сделать через .bat и планировщик заданий. Проблема, не знаю как написать этот .bat и как сделать после успешной отправки удалять файл. Или же есть вариант по проще? Подскажите, кто имел опыт или есть идеи.. Заранее спасибо.
1 Прыгун
 
17.09.13
15:30
любой учебник по bat файлам найди в интернете.
2 Dmitrith
 
17.09.13
15:31
Все спокойно через стандартные команду DOS реализуется. Отправка/прием на фтп через консольную ftp.exe
3 v4442
 
17.09.13
15:34
(0) сейчас найду пример
(1) (2) .......
4 Coldboy
 
17.09.13
15:36
(2) по точнее
(3) спасибо заранее
5 v4442
 
17.09.13
15:37
текст батника

@echo off
set i=%date:~-10%
chcp 1251

Del C:\Auto.prm
echo [General] >> C:\Auto.prm
echo AutoExchange=1 >> C:\Auto.prm
echo Quit=1 >> C:\Auto.prm
echo [AutoExChange] >> C:\Auto.prm
echo SharedMode=1 >> C:\Auto.prm
echo ReadFrom=* >> C:\Auto.prm
echo WriteTo=* >> C:\Auto.prm


ftp -n -s:C:\obmen\get_G2008.txt
"C:\Program Files\1Cv77\BIN\1cv7s.exe" CONFIG /D "\\Baza1" /NАдмин /P111  /@C:\Auto.prm
ftp -n -s:C:\obmen\put_G2008.txt
6 Coldboy
 
17.09.13
15:39
а комментарии можно хоть какие нибудь?
7 Coldboy
 
17.09.13
15:39
файлы заранее неизвестны имена, тока папка.
8 v4442
 
17.09.13
15:40
файл put

open  FTP.NASH.ru //сервер FTP
user uaser1 //это юзер
12323 //это пароль

prompt
binary

cd upload_2008
lcd "\\BAZA1c\PC"
put APPF.zip

bye
9 v4442
 
17.09.13
15:42
файл get

open  FTP.NASH.ru //сервер FTP
user uaser1 //это юзер
12323 //это пароль

prompt
binary
lcd "\\BAZA1c\CP"
cd download_2008
get APPE.zip
10 Coldboy
 
17.09.13
15:42
(8) а это че? уже заливка на сервер?
11 v4442
 
17.09.13
15:43
значит звездочки
put *
12 v4442
 
17.09.13
15:44
(10) на всякий случаи и туда и обратно ))
13 v4442
 
17.09.13
15:45
и с разу с привязкой к 1с )))  77
14 Галахад
 
гуру
17.09.13
15:54
Как сложно-то. А почему ftp?
15 v4442
 
17.09.13
15:57
(14) много букв из-за 1с, без нее будет мало и очень понятно )))
16 v4442
 
17.09.13
16:00
+ 15
Создаешь батник, в батнике одна строчка:
ftp -s:c:\1.txt

в фале 1.txt чуть больше строк

open  FTP.NASH.ru //сервер FTP
user uaser1 //это юзер
12323 //это пароль

prompt
binary
lcd "\\BAZA1c\CP"
cd download_2008
get APPE.zip
17 spectre1978
 
17.09.13
16:50
Нужен FTP-клиент
Набор утилит NcFTP реализует возможность удаления в случае успешной отправки. Очень рекомендую.
18 v4442
 
17.09.13
17:03
(17) бывает они глючат,  использовал , но отказался от них.
19 spectre1978
 
17.09.13
21:58
(18) можно поподробнее? Я использовал следующий функционал:

- прием: сравниваем по маске содержимое удаленной папки с локальной, недостающие в локальной папке файлы качаем из удаленной.
- передача: пытаемся выгрузить файлы по маске из локальной папки в удаленную. Файлы, которые загрузились успешно, из локальной папки удаляются. Файлы, которые успешно не загрузились, остаются в локальной папке для того чтобы попытаться их выгрузить в следующий раз.

Работает полтора месяца, глюков пока не видел
20 Asmody
 
17.09.13
22:07
Пацаны советуют btsync
21 v4442
 
17.09.13
22:26
(19) Когда поменяли сервер ftp то с некоторых филиалов filezilla  не смог достучаться, через bat все работало.
22 v4442
 
17.09.13
22:29
+ 21 и еще через bat почему-то работает намного быстрее.
Еще были глюки с большими файлами из-за тормознутости, через bat нет.
23 spectre1978
 
18.09.13
08:01
(21) Так мы ж вроде про ncftp говорили. Причем тут filezilla?
24 Coldboy
 
18.09.13
09:09
(22) 1С не нужна, она уже на сервере все обрабатывает, мне бы эти файлы забрать грамотно и аккуратно, не понял, как циклично в каталоге брать файлы и закидывать их.
25 spectre1978
 
18.09.13
09:13
(24) у FTP-клиентов есть команды mget и mput, они работают со всеми файлами каталога по маске. Циклы не нужны.
26 mistеr
 
18.09.13
10:20
(0) Только удалять не стоит. По крайней мере, не сразу. Чтобы потом локти не кусать.
27 spectre1978
 
18.09.13
10:29
(26) это почему? Задачи разные бывают. Например, у меня отсылка файлов - платная, за каждый файл, и мне совершенно не надо чтобы повторно отсылались те же самые файлы что и в прошлый раз. Поэтому удаление исходных после успешной отсылки должно быть обязательно и работать надежно.
28 mistеr
 
18.09.13
11:43
(27) Если повторно отсылать не нужно, переложить в другой каталог и удалять по истечении времени
29 spectre1978
 
18.09.13
15:49
(28) мне не нужно. Файлы для отправки генерируются, при необходимости их можно просто пересоздать. А ТС виднее, что ему нужно.
30 Coldboy
 
19.09.13
09:40
(29) а где инструкция как рулить этой NcFTP?
31 spectre1978
 
19.09.13
10:36
(29) С ними ставится документация. Доступна из меню "Пуск". Ну или из командной строки ncftpget /?, ncftpput /?
32 spectre1978
 
19.09.13
10:40
(30) Например, примерно вот так я отправляю все файлы XML из папки:

ncftpput -f "C:\Program Files\ediscript\login.txt" -DD -e "C:\Program Files\ediscript\logs\errors.txt" outbox "C:\Documents and Settings\All Users\Документы\EDI\Out\*.xml"
33 Coldboy
 
19.09.13
10:43
вов ов мне примерно так и надо. значит логи ты пишешь login.txt ошибки error.txt а из  папки берешь все xml верно? вопрос а параметры авторизации где берешь для ftp? и это ты сделал батник ?
34 spectre1978
 
19.09.13
10:47
login.txt содержит имя ftp-сервера, имя пользователя и пароль, т.е. три строчки. errors.txt - правильно, ошибки. Из папки берутся все XML и передаются, те которые успешно переданы - удаляются из папки (ключ DD).
35 spectre1978
 
19.09.13
10:48
у меня не батник, а vbs-скрипт, потому что у меня там есть еще и прием, а прием немного посложнее - я в зависимости от времени суток формирую разные маски для файлов. В батнике этого не сделать. Но в общем вы мыслите в правильном направлении.
36 Coldboy
 
19.09.13
10:51
(35) спасибо большое буду пробывать.
37 ДенисЧ
 
19.09.13
10:52
(36) Ты букву ё забыл в слово вписать...
38 Coldboy
 
19.09.13
10:58
(37) в какое слово?
39 Coldboy
 
25.09.13
09:36
(35) а имя ftp сервера как должно выглядеть, а то что-то пробую ftp://adress и нифига пишет не
ncftpput: cannot open ftp://83.167.87.154: unknown host.
40 Coldboy
 
25.09.13
09:47
а не решил ошибку, но почему то Could not change to directory outbox: server said: The system cannot find the file specified.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс