Скрипты для ftp windows

Скрипты для ftp windows

Сообщения: 1579
Благодарности: 231

Конфигурация компьютера
Материнская плата: ASUS M4A77TD
HDD: SSD Kingston SKC400 512GB + TOSHIBA DT01ACA200
Звук: шось VIAшное на борту
CD/DVD: NEC старенький + Optiarc серенький
Ноутбук/нетбук: Fujitsu SH531
Профиль | Отправить PM | Цитировать

Доброго времени суток!

Необходим скрипт, который при запуске будет выполнять следующие действия:

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-файлов для этих операций.

Читайте также:  Tail command in windows

1. Команда ftp

Для обмена файлами с FTP-сервером используется команда ftp, вот ее синтаксис:

FTP [-v] [-d] [-i] [-n] [-g] [-s:имя_файла] [-a] [-A] [-x:sendbuffer]
[-r:recvbuffer] [-b:asyncbuffers] [-w:windowsize] [узел]

-v Отключение вывода на экран ответов с удаленного сервера.
-n Отключение автоматического входа при начальном подключении.
-i Отключение интерактивных запросов при передаче нескольких
файлов.
-d Включение отладочного режима.
-g Отключение глобализации имен файлов (см. команду GLOB).
-s:имя_файла Задание текстового файла, содержащего команды FTP, которые
будут выполняться автоматически при запуске FTP.
-a Использование локального интерфейса для привязки соединения.
-A Анонимный вход в службу.
-x:send sockbuf Переопределение стандартного размера буфера SO_SNDBUF (8192).
-r:recv sockbuf Переопределение стандартного размера буфера SO_RCVBUF (8192).
-b:async count Переопределение стандартного размера счетчика async (3)
-w:windowsize Переопределение стандартного размера буфера передачи (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 [ ]
Изменение локального каталога рабочего компьютера, где:
— Имя нового локального каталога, если не задан то будет использоваться имя текущего каталога.

Читайте также:  Драйвер для чтения sd карт windows 10 что это

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 запросит ее у пользователя;

verbose
Переключение режима вывода сообщений.

Рассмотрим небольшой пример.

Читайте также:  Это устройство настроено неправильно код 1 windows 10

Пусть у нас есть 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-сервер Добавление…

Оцените статью