gifts2017

Доступ к ftp через *.bat - файл.

Опубликовал Евгений К (John_d) в раздел Администрирование - Системное

Доступ к ftp через *.bat - файл.

Для того чтобы обратиься к ftp через bat-файл еще нужен текстовый файл с описанием ftp.

Создаем ftp.bat

содержание bat - файла:

ftp -i -s:F:\commands.txt

Описываем commands.txt для выгрузки на ftp:

open ftp.test.ru
пользователь
пароль
put F:\выгружаемый_файл.txt
quit

Описываем commands.txt для загрузки c ftp:

open ftp.test.ru
пользователь
пароль
lcd F:\
get загружаемый_файл.txt
quit

В этом случае загружаемый_файл.txt выгрузиться из корня ftp в корень диска F:\

Описываем commands.txt для удаления всех файлов c ftp:

open ftp.test.ru
пользователь
пароль
mdelete *
quit

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Владислав Чинючин (vcv) 24.09.14 10:30
Лучше взять нормальные консольные утилиты. Например, из NcFTP.
Штатный ftp.exe:
во-первых, не поддерживает пассивный режим;
во-вторых, по моему опыту, не отличается надёжностью на плохих каналах;
в-третьих, лучше вызвать одну утилиту с параметром, чем городить огород из батничка и текстового файла-сценария.
spectre1978; alexnecro; ershz; +3 Ответить 2
2. Алексей Мостовой (AlexeyM_Kam) 24.09.14 12:15
<sarcasm>Еще не хватает pause в конце каждого батника - для "отладки".</sarcasm>
3. Serg (Sykoku) 24.09.14 15:58
Там много чего не хватает - опрос текущей директории, проверка выполнения команд и т.д. Для загрузки/выгрузки по какому-то статическому пути существуют свои утилиты. Например, wget. Про кроссплатформенность вообще молчу...
4. Sergei (kauksi) 25.09.14 09:28
я уже лет 10 использую для обменов 7.7 FTP Performer.
мощный скриптовый язык.
проверен на каналах в 300 бит
5. Alex Necro (alexnecro) 09.10.14 14:06
(1) vcv, Я использовал WinSCP, когда оказалось что программа ftp подходит далеко не во всех случаях (меня победил пассивный режим).
6. Petr Bubnov (bubnov-pi) 16.10.14 17:52
А я (лет 10 назад) в подобном случае генерил сценарий прям из батника - как-то так:
@Echo off
set ftpscenario=%temp%\ftpscen.txt
call :genscen > %ftpscenario%
ftp -i -s:%ftpscenario%
del %ftpscenario%
exit 0
:genscen
echo open ftp.test.ru
echo username
echo password
echo put %appdata%\forshare\output.txt
echo quit
exit /b
7. Petr Bubnov (bubnov-pi) 16.10.14 17:55
(1) vcv, когда стоит задача написать скрипт, выполняющийся на абстрактной машине, приходится ограничиваться исключительно штатными средствами.
Для более-менее вменяемой автоматизации - безусловно, использование специализированных инструментов/пакетов предпочтительнее.
8. Валерий (valbir) 05.11.14 19:56
Для выгрузки на сайт (сервер на unix) файла с остатками. Пример работающего файла.
стандартный виндовый ftp.exe работает в пассивном режиме!!!!
Задача выгрузки *.xls на сайт (хостинг на UNIX)
Раб машина под 2003
Если выгружать на FTP текстовые или *.csv проблем не возникало
Выгрузка *.xls через раз. Выгружаем тогда *.zip.
точнее пары файлов: батник on_FTP.bat и файл команд on_FTP.txt
с записью логфайла: ftplog.txt проверкой скачиванием файла обратно
Рабочая папка D:\onFTP
on_FTP.bat
@echo on
ftp -n -g -d -s:D:\onFTP\on_ftp.txt "??.???.???.??" >D:\onFTP\ftplog.txt 2>&1

on_FTP.txt:

USER login_on_ftp password_on_ftp
cd /public_html/userfiles
lcd "D:\onFTP"
quote PASV
binary
put ostatki.zip
get ostatki.zip ostatki_from.zip
close
bye
disconnect
quit
9. Leo Po (webresurs) 11.12.14 11:22
Воспользуйтесь утилитой WGET тут и закачка с FTP или обновление с него(например качает только новые файлы) и тд
Официальный сайт на Eng | Список ключей на русском

размешаете все файлы в одну папку:
- сама утилита wget.exe (скаченную с сайта);
- bat-ник со строкой
wget -m -t 8 -np -nH ftp://LOGIN:PASSWORD@10.0.0.1/ -o out.txt

если логин пароль не нужен пишете вот так
wget -m -t 8 -np -nH ftp://10.0.0.1/ -o out.txt

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

для выгрузки воспользуйтесь утилитой WPUT....
10. Олег Шалимов (CaSH_2004) 03.09.16 20:17
(8) Сильно сомневаюсь что встроенный в Windows FTP работает в пассиве - вы первый кто считает наоборот, проверил то что вы выложили - у меня не работает, пишет неизвестная команда вот тут "quote PASV "
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа