Войти

Показать полную графическую версию : FTP на bat


LepeT
28-11-2014, 19:50
Используется FTP клиент в cmd типа:
open pegas.hosting.ru USER login password

binary

cd /site.ru/public_html

mput D:/webdata/*.xml cd import_files

mput d:\webdata\import_files\*

BY


подскажите как сделать что бы при каждой закачке на хостинг создавалась новая папка с новым именем желательно по номеру,ну т.е к примеру 1 раз создается папка с именем number 1 и в нее загружаются файлы,второй number 2 и так далее

megaloman
29-11-2014, 11:22
Спасибо Iska за ссылку на сообщение (http://forum.oszone.net/post-2423159.html#post2423159), где помянут сайт полезной утилитки (http://www.ferrobackup.com/ftpuse/). Подключаете фтп-ресурс как диск и далее задача решается сравнительно несложно стандартными средствами cmd-команды For.
Либо, как альтернатива, чтобы не анализировать наличие нумерованных папок, создавать новые папки с именем, содержащим дату и время, например,
Up20141129-113359
ПолУчите дополнительные удобства управления ФТП-ресурсом.

LepeT
29-11-2014, 12:20
Спасибо Iska за ссылку на сообщение, где помянут сайт полезной утилитки. Подключаете фтп-ресурс как диск и далее задача решается сравнительно несложно стандартными средствами cmd-команды For.
Либо, как альтернатива, чтобы не анализировать наличие нумерованных папок, создавать новые папки с именем, содержащим дату и время, например,
Up20141129-113359
ПолУчите дополнительные удобства управления ФТП-ресурсом. »

Я понял,но мне нужен встроенный ftp без установки доп софта,поэтому вопрос как сделать это в cmd

LepeT
03-12-2014, 10:21
ап тему

megaloman
03-12-2014, 14:17
создавать новые папки с именем, содержащим дату и время
В батнике формируется сценарий сеанса с фтп (здесь файл с расширением .ftp создаётся рядом с батником, или можно в любом другом месте). В сеансе связи создаются папки с датой-временем. Работать с фтп с созданием нумерованных папок, как Вы хотели, стандартным ftp у меня не получается, и,ИМХО, неудобно и ненужно.

@Echo Off

Set "FTP_Addr=xxx.xxx.xxx.xxx"
Set "FTP_Login=login"
Set "FTP_Pass=password"

Set "FTP_Dir1=\Site.ru\public_html"
Set "Out1=D:\webdata\*.xml"

Set "FTP_Dir2=import_files"
Set "Out2=D:\webdata\import_files\*"

rem Set "FTP_Com=%TMP%\%~n0.ftp
Set "FTP_Com=%~n0.ftp

Set "FTP_New=%Time: =0%"
Set "FTP_New=%Date:~6,4%%Date:~3,2%%Date:~0,2%-%FTP_New:~0,2%%Date:~3,2%%Date:~6,2%"

Echo %FTP_Login%>"%FTP_Com%"
Echo %FTP_Pass%>>"%FTP_Com%"

Echo binary>>"%FTP_Com%"

Echo cd ..>>"%FTP_Com%"

Echo cd %FTP_Dir1%>>"%FTP_Com%"
Echo mkdir %FTP_New%>>"%FTP_Com%"
Echo cd %FTP_New%>>"%FTP_Com%"
Echo mput "%Out1%">>"%FTP_Com%"


Echo cd ..>>"%FTP_Com%"

Echo cd %FTP_Dir1%>>"%FTP_Com%"
Echo cd %FTP_Dir2%>>"%FTP_Com%"
Echo mkdir %FTP_New%>>"%FTP_Com%"
Echo cd %FTP_New%>>"%FTP_Com%"
Echo mput "%Out2%">>"%FTP_Com%"

Echo By>>"%FTP_Com%"

ftp -i -s:%FTP_Com% %FTP_Addr%
Естественно, отлаживал на доступном мне ФТП, поэтому то, что написано в коде, мнойс Вашими путями не опробовано.
Можно наверное на локальном компе вести лог-файл со счетчиком и на его основе создавать папки на фтп-ресурсе, но это как-то ненадёжно и некрасиво. И ведёт к жесткой привязке на конкретный локальный компьютер с этим счетчиком.




© OSzone.net 2001-2012