Гость hsl Опубликовано 18 Октября, 2011 в 15:25 Жалоба Поделиться Опубликовано 18 Октября, 2011 в 15:25 Доброго времени суток! Стоит такая задача, автоматически загружать все файлы из локальной папки на FTP сервер, в идеале с проверкой на изменение даты и размера файла, чтоб повторно не гонять файлы, но в принципе годится вариант и просто с перезаписью. Есть такая программка filezilla в ручном режиме можно осуществить копирование с проверкой, но автоматически делать это не получается ее заставить, а может она этого и не умеет. Нашел вот такой пример bat файла @echo off echo user login> ftp.dat echo password>> ftp.dat echo bin>> ftp.dat echo put %1>> ftp.dat echo quit>> ftp.dat ftp -n -s:ftp.dat ftpserver del ftp.dat вместо login, password, ftpserver вводим свои, это я понял, для того чтобы складывать не в корень фтп есть строчка echo cd /путь/>>ftp.dat с путем понятно, но в какое место эту строчку вставить? И где здесь указывается локальный путь откуда берутся файлы для передачи? Ссылка на комментарий Поделиться на другие сайты Поделиться
pm Опубликовано 19 Октября, 2011 в 10:43 Жалоба Поделиться Опубликовано 19 Октября, 2011 в 10:43 (изменено) но в какое место эту строчку вставить? И где здесь указывается локальный путь откуда берутся файлы для передачи? вставить после удачной авторизации на сервере, но до передачи файлов ftp-командой put (например, прямо перед ней. сама строка echo bin>>... просто означает, что серверу дали команду передачи файлов в бинарном формате. насколько знаю, большинство серверов и так по умолчанию начинают работу в таком режиме, а не ascii) в локальное место расположения на компьютере-клиенте можно просто перейти командой cd /локальный/путь/ в результате будет выглядеть как-то так: @echo off cd /локальный/путь/ echo user login> ftp.dat echo password>> ftp.dat echo bin>> ftp.dat echo cd /путь/на/сервере/>>ftp.dat echo put %1>> ftp.dat echo quit>> ftp.dat ftp -n -s:ftp.dat ftpserver del ftp.dat /путь/на/сервере/, естественно, относительно директории, куда по дефолту завалится юзер со своей авторизацией Добавлено после раздумий: в принципе, ftp-команды put и get позволяют сразу работать с "локальным" и "удалённым" файлами, тогда не понадобятся команды cd ни на локальном ни на удалённом компьютерах Изменено 19 Октября, 2011 в 09:48 пользователем pm Ссылка на комментарий Поделиться на другие сайты Поделиться
pm Опубликовано 20 Октября, 2011 в 10:59 Жалоба Поделиться Опубликовано 20 Октября, 2011 в 10:59 (изменено) ну как, результаты есть? хотя бы отрицательные? можешь отписать по e-mail. Изменено 20 Октября, 2011 в 11:00 пользователем pm Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость hsl Опубликовано 20 Октября, 2011 в 15:13 Жалоба Поделиться Опубликовано 20 Октября, 2011 в 15:13 ну как, результаты есть? хотя бы отрицательные?можешь отписать по e-mail. Не пробовал еще, почти сутки интернета не было, сегодня буду пробовать. Ссылка на комментарий Поделиться на другие сайты Поделиться
pm Опубликовано 20 Октября, 2011 в 15:52 Жалоба Поделиться Опубликовано 20 Октября, 2011 в 15:52 завидую, я бы согласился сутки отдохнуть без интернета :smile: 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость xhawkx Опубликовано 20 Октября, 2011 в 16:00 Жалоба Поделиться Опубликовано 20 Октября, 2011 в 16:00 Пользуюсь следующим приемом 1. Ставим _https://www.netdrive.net/download.html - она бесплатна для дома. Позволяет монтировать ftp на букву диска в вин 2. Ставим чудесную софтину freefilesync синхронизируем содержимое Freefilesync использую для синхронизации фотоколлекции дома, софтина - вещь Ссылка на комментарий Поделиться на другие сайты Поделиться
pm Опубликовано 20 Октября, 2011 в 16:29 Жалоба Поделиться Опубликовано 20 Октября, 2011 в 16:29 (изменено) почему-то думаю, что Сергею это нужно для работы, поэтому будет нарушение лицензии. я предпочитаю обходиться штатными средствами ОС. поэтому не сторонник устанавливать букет разношёрстных утилит неизвестного происхождения, если есть возможность решить задачу силами ОС Изменено 20 Октября, 2011 в 16:32 пользователем pm Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость xhawkx Опубликовано 20 Октября, 2011 в 18:13 Жалоба Поделиться Опубликовано 20 Октября, 2011 в 18:13 а зачем вы за него думаете? :smile: Вы предложили свой вариант решения задачи, а я - свой. Ссылка на комментарий Поделиться на другие сайты Поделиться
pm Опубликовано 20 Октября, 2011 в 20:17 Жалоба Поделиться Опубликовано 20 Октября, 2011 в 20:17 я лишь внёс минимальные изменения в решение автора и, замечу, без дополнительных костылей :smile: Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость hsl Опубликовано 20 Октября, 2011 в 20:33 Жалоба Поделиться Опубликовано 20 Октября, 2011 в 20:33 Владимир, а зачем ставить NetDrive? freefilesync я так понимаю синхронизирует в ручном режиме? Нужно что то автоматическое, чтоб само не было постоянно включено, запускалось планировщиком делало то что нужно и выключалось. pm, что то не то получается, после запуска бат файла открывается CMD окно, в нем типа процесс авторизации, заканчивается это так , дословно ftp> put Локальный файл quit Удаленный файл quit: ftp> А в папке локального пути создается файл ftp.dat c таким содержимым, логин, пароль, локальный путь, соответственно то что было прописано в бат файле user логин пароль bin cd /локальный путь/ put quit Да, забыл упомянуть, запускается это на машине с Win7, и если просто запустить бат файл, как раз все и происходит как описано, а если запустить от имени администратора, то файл в локальной папке не создается. На фтп в обоих случаях ничего не происходит. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость xhawkx Опубликовано 21 Октября, 2011 в 01:38 Жалоба Поделиться Опубликовано 21 Октября, 2011 в 01:38 Владимир, а зачем ставить NetDrive?freefilesync я так понимаю синхронизирует в ручном режиме? Нужно что то автоматическое, чтоб само не было постоянно включено, запускалось планировщиком делало то что нужно и выключалось. freefilesync синхронизирует 2 локальные, либо смонтированные по сети папки. netdrive позволяет примонтировать ftp ресурс как диск в системе. для работы по расписанию он: 1. спокойно вызывается из планировщика 2. может быть вызван из bat/cmd файла. Кроме того, сейчас есть в комплекте еще и realtimesync, но я ей не пользовался. там помощь отличная, с примерами. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость hsl Опубликовано 21 Октября, 2011 в 07:03 Жалоба Поделиться Опубликовано 21 Октября, 2011 в 07:03 ...netdrive позволяет примонтировать ftp ресурс как диск в системе... Не такой вариант не подойдет, постоянный доступ к фтп как к локальной папке совсем не нужен. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти