Лучше взять нормальные консольные утилиты. Например, из NcFTP.
Штатный ftp.exe:
во-первых, не поддерживает пассивный режим;
во-вторых, по моему опыту, не отличается надёжностью на плохих каналах;
в-третьих, лучше вызвать одну утилиту с параметром, чем городить огород из батничка и текстового файла-сценария.
(1) vcv, когда стоит задача написать скрипт, выполняющийся на абстрактной машине, приходится ограничиваться исключительно штатными средствами.
Для более-менее вменяемой автоматизации - безусловно, использование специализированных инструментов/пакетов предпочтительнее.
Там много чего не хватает - опрос текущей директории, проверка выполнения команд и т.д. Для загрузки/выгрузки по какому-то статическому пути существуют свои утилиты. Например, wget. Про кроссплатформенность вообще молчу...
А я (лет 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
Для выгрузки на сайт (сервер на 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
(8) Сильно сомневаюсь что встроенный в Windows FTP работает в пассиве - вы первый кто считает наоборот, проверил то что вы выложили - у меня не работает, пишет неизвестная команда вот тут "quote PASV "
где out.txt - файл с данными по загруженным файлам для дальнейшего сравнения и подгрузки только обновленных и новых файлов
где какой ключ и для чего читайте по ссылке выше
Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2")
Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2")