Vlad_Psycho Опубликовано 13 сентября, 2004 Жалоба Поделиться Опубликовано 13 сентября, 2004 Здравствуйте! Буду признателен, если поможете решить одну задачку, связанную с пересылкой файлов. Что имеется- FTP- сервер с паролями и юзернэймами. Что требуется- Найти способ (написать скриптик), как можно автоматически копировать файлы с фтп на компьютер и с компьютера на фтп. Например- Приходит на работу оператор, включает компьютер и запускает программу по учету платежей (к примеру). А программа эта запускает скрипт, который заходит на ФТП под определенным паролем (оператор его не должен знать) и копирует оттуда файлы в свою директорию. Помогите пожалуйста с решением этой задачи Спасибо! Ссылка на комментарий Поделиться на другие сайты Поделиться
dartman Опубликовано 14 сентября, 2004 Жалоба Поделиться Опубликовано 14 сентября, 2004 Создаём BAT-файл примерно следующего содержания: ftp -s:ftp_script_file.txt >logfile.txtcd c:\Destination_directoryrar e -y new_files.rardel new_files.rar rar a -y -df work_files.rar *.txt В каталоге батника должен присутствовать текстовый файл ftp_script_file.txtследующего содержания: open 195.110.206.12 (вместо айпишника можно указать DNS-имя хоста)login (логин)password (пароль)get new_files.rar c:\Destination_directory\new_files.rar (получаем архив с новыми файлами)delete new_files.rar (удаляем файл с сервера, если это нужно)disconnect (отключение от сервера)quit (выход из консольного ftp.exe) Ссылка на комментарий Поделиться на другие сайты Поделиться
Vlad_Psycho Опубликовано 14 сентября, 2004 Автор Жалоба Поделиться Опубликовано 14 сентября, 2004 Я знаю, что вопрос глупый, но я к сожалению не знаю ДОСовских команд. Как указать на файл, который лежит в определенной директории на ФТП? Например, файл лежит на ФТП сервере в директории BALANS/Tek_God? В остальном все работает- спасибо за помощь Ссылка на комментарий Поделиться на другие сайты Поделиться
Vlad_Psycho Опубликовано 14 сентября, 2004 Автор Жалоба Поделиться Опубликовано 14 сентября, 2004 Вот еще заметил- после копирования архивы оказываются битыми... Что можно предпринять? Ссылка на комментарий Поделиться на другие сайты Поделиться
Premium Опубликовано 15 сентября, 2004 Жалоба Поделиться Опубликовано 15 сентября, 2004 Vlad_Psycho файл лежит на ФТП сервере в директории BALANS/Tek_God? после копирования архивы оказываются битыми удаленная директория указывается командой cd ,а чтобы файлы не бились, есть команда binary То есть чуть измени скрипт Dartman-а под свои нужды: open 195.110.206.12 login passwordcd /BALANS/Tek_God/binaryget new_files.rar c:\Destination_directory\new_files.rardelete new_files.rardisconnect quit я к сожалению не знаю ДОСовских команд Это все есть во встроенной справке Windows. Или запусти Пуск-Выполнить-ftp и там набери слово help Ссылка на комментарий Поделиться на другие сайты Поделиться
Vlad_Psycho Опубликовано 15 сентября, 2004 Автор Жалоба Поделиться Опубликовано 15 сентября, 2004 С бинарными файлами я разобрался, спасибо, у меня последний вопрос (я надеюсь ;) )- Что надо изменить, чтобы копировать с компьютера на ФТП? Ссылка на комментарий Поделиться на другие сайты Поделиться
Vlad_Psycho Опубликовано 15 сентября, 2004 Автор Жалоба Поделиться Опубликовано 15 сентября, 2004 И если это не сложно, Вы не могли бы объяснить, что значит каждая из команд в файле- ftp -s:ftp_script_file.txt >logfile.txt cd c:\Destination_directory rar e -y new_files.rar del new_files.rar rar a -y -df work_files.rar *.txt Ссылка на комментарий Поделиться на другие сайты Поделиться
Vlad_Psycho Опубликовано 15 сентября, 2004 Автор Жалоба Поделиться Опубликовано 15 сентября, 2004 Я тут наверное запарил всех :) Почитал Хелп и записал вот так- open 195.110.206.12 login password bin cd /BALANS/Tek_God/ put new_files.rar disconnect quit Единственная проблемка- файл не копируется, а переносится. Команды send и recv делают тоже самое. А как все-таки скопировать файл, не перенося его? Посижу еще, может еще чего додумкаю :) P.S. Хотел бы услышать комментарии по первому файлу ;) Ссылка на комментарий Поделиться на другие сайты Поделиться
dartman Опубликовано 15 сентября, 2004 Жалоба Поделиться Опубликовано 15 сентября, 2004 ftp -s:ftp_script_file.txt >logfile.txt - Запустить ftp.exe, параметры взять из файла ftp_script_file.txt, результаты работы вместо экрана выводить в файл logfile.txt cd c:\Destination_directory - На локальном диске перейти в каталог, куда был скачан новый файл, согласно скрипта, взятого из файла ftp_script.txt. rar e -y new_files.rar Извлечь из полученного архива все файлы. del new_files.rar - удалить полученный архив на локальном диске. rar a -y -df work_files.rar *.txt - добавить полученные файлы в архив work_files.rar; согласно маски *.txt добавляются только текстовые файлы. Ссылка на комментарий Поделиться на другие сайты Поделиться
Premium Опубликовано 15 сентября, 2004 Жалоба Поделиться Опубликовано 15 сентября, 2004 (изменено) Единственная проблемка- файл не копируется, а переносится. Команды send и recv делают тоже самое. Ничего подобного. send и put копируют локальный файл на фтп, а get и recv копируют файл с фтп-шника на комп. Для групп файлов mput и mget, перед ними лучше вставлять команду prompt, чтобы ftp.exe у тебя ничего не спрашивало. Это скорей всего del new_files.rar в батнике удаляет файл, а ты и думаешь, что он перенесся :( P.S. Может тебе удобней будет какой-нибудь программой с графическим фейсом воспользоваться, сделать задание по синхронизации локального файла с файлом на FTP (расставить галочки :)) и вбить в планировщик? SitePublisher http://www.sitepublisher.net/ или SyncBack http://www.2brightsparks.com/ например. Изменено 15 сентября, 2004 пользователем Premium Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти