@Dato38it

Как скопировать все файлы из ftp в сетевую папку в комадной строке?

Я уже задавал вопрос, поводу того как писать скрипты по копированию файлов из ftp в сетевую папку.
Оказывается я не знаю, как можно копировать файлы в командной строке ftp.
Как мне скопировать все файлы из ftp в сетевую папку?
я пробую в сетевую папку добавить файлы из ftp таким образом:
@Echo Off
:: ~Параметры соединения
Set server=IP
Set user=tuser
Set pass=tpassword
:: ~Что и куда копируем
:: SET $SRC=/tdir/*.xml
SET src=/tdir
SET dst=\\tdomain.ru\tdir\
:: Формат текущей даты
SET dd=%date:~0,2%
SET mm=%date:~3,2%
SET yyyy=%date:~6,4%
SET curdate=%dd%_%mm%_%yyyy%
:: ~Временные файлы
::Set $FFtp=%~dpn0.cfg
:: Готовим CFG-файл
Echo open %server%>tempfile.txt
Echo %user%>>tempfile.txt
Echo %pass%>>tempfile.txt
Echo lcd %dst%>>tempfile.txt
Echo cd %src%>>tempfile.txt
Echo mget *.xml>>tempfile.txt
Echo bye>>tempfile.txt
:: Выполняем команду
FTP -s:tempfile.txt
:: Добавим в архив скопированные файлы
"C:\Program Files\7-Zip\7z.exe" a -tzip \\tdomain.ru\tdir\Test_%curdate%.zip \\tdomain.ru\tdir\*.xml
:: Удалим лишние файлы
del \\tdomain.ru\tdir\*.txt
rem exit
pause

Проблема в том, что команда mget запрашивает каждый раз Y. Моно ли как то запустить эту команду с подтверждением? Или есть какой то другой способ помимо mget?
  • Вопрос задан
  • 105 просмотров
Пригласить эксперта
Ответы на вопрос 1
@rPman
Использовать wget, ключ -l 1 -r или -m (осторожно, по умолчанию будет качать все каталоги, смотри опции ограничения в пути).

Ещё лучше, уйти от ftp, как устаревшего протокола, с кучей проблем. И использовать штатный встроенный функционал ssh - scp/sftp , которым может пользоваться как стандартный scp так и rsync, у которых возможностей и удобства на порядок больше.

Ssh сервер идёт с любым linux штатно, а также с windows устанавливается ее штатным инструментарием
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы