Необходим скрипт, который при запуске будет выполнять следующие действия:
0. Пингуется хост с фтп-сервером. При нормальном отклике выполняется пункт 1, в противном случае выдает окно с надписью («перезагрузите модем») 1. Соединяется с фтп-сервером (с логином и паролем) 2. Берет все файлы из указанной папки 3. Заливает их на фтп в указанный каталог 4. Закрывает соединение и завершает работу.
Подскажите, пожалуйста, возможно ли это сделать средствами Windows XP, или необходимо отдельно писать программу, к примеру на Делфи, которая будет все это прокручивать? Если возможно, то направьте куда копать, а то в программировании не силен.
——- Благими намірами вистелений шлях у пекло
Сообщения: 51908 Благодарности: 14931
Конфигурация компьютера
Материнская плата: ASUS P8Z77-V LE PLUS
HDD: Samsung SSD 850 PRO 256 Гб, WD Green WD20EZRX 2 Тб
Звук: Realtek ALC889 HD Audio
CD/DVD: ASUS DRW-24B5ST
ОС: Windows 8.1 Pro x64
Прочее: корпус: Fractal Design Define R4
James Marsh, воспользуйтесь фильтрами по названию темы по ftp .
Скачивание, загрузка и удаление файлов с FTP-сервера из командной строки
Часто требуется автоматизировать процессы скачивания, загрузки и удаления файлов c FTP-сервера. Например, при работе с распределенными базами данных 1С или для сохранения резервных копий. Но не все знают, что эти процедуры можно выполнять из командной строки, не прибегая к дополнительному программному обеспечению, то есть средствам Windows. Ниже я приведу синтаксис команд для работы с FTP, а также примеры bat-файлов для этих операций.
Переопределение стандартного размера буфера передачи (65535).
узел
Задание имени или адреса IP удаленного узла, к которому необходимо выполнить подключение.
Как видно, здесь нет операторов для подключения к серверу и работы с файлами. Дело в том, что эта команда только запускает сеанс ftp:
Далее, работа с FTP-сервером происходит уже при помощи следующих операторов (пропустить) :
! Временный переход в оболочку.
append Добавление в файл.
ascii Установка режима передачи файлов в формате ascii.
bell Выдача звукового сигнала по завершении команды
binary Установка режима передачи файлов в двоичном формате.
bye Завершение сеанса ftp и выход.
cd Изменение рабочего каталога на удаленном компьютере, где: — имя каталога, который станет рабочим.
close Завершение сеанса ftp.
debug Переключение режима отладки.
delete Удаление файла на удаленном компьютере, где: — имя файла для удаления.
dir [ ] [ ] Вывод содержимого каталога удаленного компьютера, где: — каталог, содержимое которого будет выведено, если не задан, используется текущий каталог; — задает локальный файл, для сохранения в список, если не задан, список выводится на экран.
disconnect Завершение сеанса ftp.
get [ ] Получение файла, где: — удаленный файл для копирования; — имя файла на локальном компьютере.
glob Переключение метасимвольного расширения имен локальных файлов.
hash Переключение вывода «#» для каждого переданного блока данных.
help [ ] Вывод справочных сведений для команды ftp, где: — Команда, описание которой будет выведено, если не задана, произойдет вывод всех команд.
lcd [ ] Изменение локального каталога рабочего компьютера, где: — Имя нового локального каталога, если не задан то будет использоваться имя текущего каталога.
literal … Отправка произвольной команды ftp, где: — команды для отправки;
ls [ ] [ ] Вывод сокращенного содержимого каталога удаленного компьютера, где: — каталог, содержимое которого будет выведено, если не задан, используется текущий каталог; — задает локальный файл, для сохранения в список, если не задан, список выводится на экран.
mdelete … Удаление нескольких файлов на удаленном компьютере, где: — имена файлов для удаления.
mdir … Вывод содержимого нескольких каталогов удаленного компьютера, где: — каталог, содержимое которого будет выведено; — задает локальный файл, для сохранения в список, если не задан, список выводится на экран.
mget … Получение нескольких файлов, где: — удаленный файл для копирования.
mkdir Создание каталога на удаленном компьютере, где: — имя удаленного каталога для создания.
mls … Вывод сокращенного содержимого нескольких каталогов удаленного компьютера, где: — каталог, содержимое которого будет выведено, если не задан, используется текущий каталог; — задает локальный файл, для сохранения в список.
mput … Отправка нескольких файлов, где: — имя локальных файлов, которые будут скопированы.
prompt Переключение интерактивной подсказки для составных команд.
put [ ] Отправка одного файла, где: — имя локального файл для копирования; — имя файла на удаленном компьютере.
pwd Вывод рабочего каталога удаленного компьютера.
quit Завершение сеанса ftp и выход в командную строку.
quote Отправка произвольной команды ftp, где: — команда для отправки.
recv [ ] Получение файла с использованием текущих настроек типов файлов, где: — удаленный файл для копирования; — имя файла на локальном компьютере.
remotehelp [ ] Получение справочных сведений о командах удаленной системы, где: — команда удаленной системы, если не задан, то выводится список всех команд.
rename Переименование удаленного файла, где: — имя файла для переименования; — новое имя файла.
rmdir Удаление каталога на удаленном компьютере, где: — имя каталога для удаления.
send [ ] Копирование одного файла с использованием текущих настроек типов файлов, где: — имя локального файл для копирования; — имя файла на удаленном компьютере.
status Отражение текущего состояния подключения ftp.
trace Переключение трассировки пакетов.
type [ ] Установка типа передачи файлов, где: — тип передачи файлов, если не указан будет выведен текущий тип передачи файлов.
user [ ] [ ] Отправка сведений для подключения к удаленному компьютеру, где: — имя пользователя для подключения к удаленному компьютеру; — пароль, для указанного имени пользователя, если не указан, но требуется для подключения, команда ftp запросит его у пользователя; — учетная запись для подключения к удаленному компьютеру, если не указана, но требуется для подключения, команда ftp запросит ее у пользователя;
Пусть у нас есть FTP-сервер с адресом tavalik.ru, имя пользователя для подключения — tavalik, пароль — 1234567890. Требуется загрузить на сервер в директорию «Temp\Backup» файл file_data.dat из «C:\example», а затем сохранить его же на локальный компьютер, в эту же директорию, но уже под именем file_from_ftp.dat.
Для этого необходимо выполнить следующий набор команд:
В итоге получим требуемый результат:
Обратите внимание, что при указании полного пути на FTP-сервере используется знак «/» между директориями, а для указания пути на локальном компьютере будет использоваться, как обычно, знак «\». Кроме того, если путь будет содержать пробелы, то следует заключить его в кавычки.
Возможен также запуск команды ftp и в пакетном режиме. Эту же задачу можно решить, выполнив команду «ftp -v -n -s:transport.txt» ,
где файл transport.txt находится в директории «C:\example» и содержит тот же набор операторов:
2. Пример bat-файла для загрузки файла на FTP
Теперь попробуем написать «батник» для загрузки файлов на FTP-сервер. Для этого создадим новый текстовый документ, и переименуем его в put_on_ftp.bat . Редактировать его можно обычным Блокнотом, но удобнее это делать с помощью бесплатной программы Notepad++.
Для начала напишем «батник», который будет загружать на сервер tavalik.ru файл file_data.dat из «С:\example» . Алгоритм работы bat-файла будет такой:
Создаем файл transport.txt с последовательностью операторов ftp;
Выполняем команду ftp, указав в качестве параметров созданный файл;
Удаляем transport.txt.
В данном примере имя файла и директорий жестко прописаны в файле. Это не всегда удобно. Доработаем bat-файл таким образом, чтобы данные для загрузки он получал в качестве параметров, а также вынесем все изменяемые значения в переменные файла. Получим следующий код (скачать файл):
Соответственно, чтобы скопировать файл file_data.dat из «C:\example» на FTP-сервер в «Temp\Backup» , потребуется запустить этот «батник» указав в качестве параметров имя файла, локальный и удаленный каталоги.
Аналогичным образом можно написать bat-файлы для получения файлов и удаления файлов на FTP-сервере, а также исполняющий файл с произвольным набором инструкций.
Смотрите также:
Не все знают, что можно создать прямую ссылку на файл, хранимый на FTP-Сервере, «зашив» в нее логин и пароль. Также возможно создать ярлык на какую-либо директорию или даже подключить ее…
Может случиться так, что в процессе установки MS SQL Server 2012 были установлены компоненты, необходимость в которых со временем отпала (или были установлены по ошибке). В этом случае, в целях…
FTP-Сервер обеспечивает возможность передачи файлов между клиентом и сервером с помощью протокола FTP. Здесь будет рассказано как запустить FTP-сервер в Windows Server 2008 R2. 0. Оглавление Добавление службы FTP-сервер Добавление…