Windows: Скрипт для массовой загрузки файлов на ftp-сервер

Появилась задача загружать на ftp-сервер файлы из конкретной папки, количество и имена файлов неизвестны. Реализовал нехитрым батником для массовой загрузки файлов на ftp-сервер.

Текст скрипта:


echo open server-adress >G:\ftpup\list.txt
echo user login pass >>G:\ftpup\list.txt
echo prompt >>G:\ftpup\list.txt
for /f "tokens=*" %%i in ('dir /b "G:\ftpup\*.rar"') do (@echo mput "G:\ftpup\%%i" >> G:\ftpup\list.txt)
echo disconnect>>G:\ftpup\list.txt
echo quit>>G:\ftpup\list.txt
ftp -n -s:G:\ftpup\list.txt


Пояснения:

Скрипт создает файл list.txt, в который записывает команды для штатного ftp-клиента windows. После чего запускает этот клиент с командами из файла.

server-adress - IP или имя ftp-сервера.

login pass - имя пользователя и пароль для доступа к серверу.

G:\ftpup\ - папка откуда брать файлы.

*.rar - маска для поиска файлов.

PS. При загрузке большого количества мелких файлов штатный ftp-клиент может терять пару байт у файла. Думаю, что связано это с отсутствием адекватной проверки после передачи. Победить штатными средствами не смог, пришлось прикручивать lftp. Более детально написано здесь: Загрузка файлов и папок на ftp-сервер c помощью LFTP.

 
1 1 1 1 1 1 1 1 1 1 Рейтинг 0.75 [2 Голоса (ов)]

Добавить комментарий