Показать полную графическую версию : FTP на bat
Используется 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
ПолУчите дополнительные удобства управления ФТП-ресурсом.
Спасибо Iska за ссылку на сообщение, где помянут сайт полезной утилитки. Подключаете фтп-ресурс как диск и далее задача решается сравнительно несложно стандартными средствами cmd-команды For.
Либо, как альтернатива, чтобы не анализировать наличие нумерованных папок, создавать новые папки с именем, содержащим дату и время, например,
Up20141129-113359
ПолУчите дополнительные удобства управления ФТП-ресурсом. »
Я понял,но мне нужен встроенный ftp без установки доп софта,поэтому вопрос как сделать это в cmd
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
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.