Часто требуется автоматизировать процессы скачивания, загрузки и удаления файлов c FTP-сервера. Например, при работе с распределенными базами данных 1С или для сохранения резервных копий. Но не все знают, что эти процедуры можно выполнять из командной строки, не прибегая к дополнительному программному обеспечению, то есть средствам Windows. Ниже я приведу синтаксис команд для работы с FTP, а также примеры bat-файлов для этих операций.

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:

!
Временный переход в оболочку.

append
Добавление в файл.

ascii
Установка режима передачи файлов в формате ascii.

bell
Выдача звукового сигнала по завершении команды

binary
Установка режима передачи файлов в двоичном формате.

bye
Завершение сеанса ftp и выход.

cd <удаленный_каталог>
Изменение рабочего каталога на удаленном компьютере, где:
<удаленный_каталог> — имя каталога, который станет рабочим.

close
Завершение сеанса ftp.

debug
Переключение режима отладки.

delete <удаленный_файл>
Удаление файла на удаленном компьютере, где:
<удаленный_файл> — имя файла для удаления.

dir [<удаленный_каталог> ] [<локальный_файл> ]
Вывод содержимого каталога удаленного компьютера, где:
<удаленный_каталог>
<локальный_файл>

disconnect
Завершение сеанса ftp.

get <удаленный_файл> [<локальный_файл> ]
Получение файла, где:
<удаленный_файл>
<локальный_файл> — имя файла на локальном компьютере.

glob
Переключение метасимвольного расширения имен локальных файлов.

hash
Переключение вывода «#» для каждого переданного блока данных.

help [<команда> ]
Вывод справочных сведений для команды ftp, где:
<команда> — Команда, описание которой будет выведено, если не задана, произойдет вывод всех команд.

lcd [<локальный_каталог> ]
Изменение локального каталога рабочего компьютера, где:
<локальный_каталог> — Имя нового локального каталога, если не задан то будет использоваться имя текущего каталога.

literal <команда_1> … <команда_n>

<команда_n> — команды для отправки;

ls [<удаленный_каталог> ] [<локальный_файл> ]
Вывод сокращенного содержимого каталога удаленного компьютера, где:
<удаленный_каталог> — каталог, содержимое которого будет выведено, если не задан, используется текущий каталог;
<локальный_файл> — задает локальный файл, для сохранения в список, если не задан, список выводится на экран.

mdelete <удаленный_файл_1 > … <удаленный_файл_n >
Удаление нескольких файлов на удаленном компьютере, где:
<удаленный_файл_n> — имена файлов для удаления.

mdir <удаленный_каталог_1 > … <удаленный_каталог_n > <локальный_файл >
Вывод содержимого нескольких каталогов удаленного компьютера, где:
<удаленный_каталог_n> — каталог, содержимое которого будет выведено;
<локальный_файл> — задает локальный файл, для сохранения в список, если не задан, список выводится на экран.

mget <удаленный_файл_1> <удаленный_файл_n>
Получение нескольких файлов, где:
<удаленный_файл_n> — удаленный файл для копирования.

mkdir <удаленный_каталог>
Создание каталога на удаленном компьютере, где:
<удаленный_каталог> — имя удаленного каталога для создания.

mls <удаленный_каталог_1> … <удаленный_каталог_n> <локальный_файл>
Вывод сокращенного содержимого нескольких каталогов удаленного компьютера, где:
<удаленный_каталог_n> — каталог, содержимое которого будет выведено, если не задан, используется текущий каталог;
<локальный_файл> — задает локальный файл, для сохранения в список.

mput <локальный_файл_1> … <локальный_файл_n>
Отправка нескольких файлов, где:
<локальный_файл_n> — имя локальных файлов, которые будут скопированы.

prompt
Переключение интерактивной подсказки для составных команд.

put <локальный_файл> [<удаленный_файл> ]
Отправка одного файла, где:
<локальный_файл >
<удаленный_файл>

pwd
Вывод рабочего каталога удаленного компьютера.

quit
Завершение сеанса ftp и выход в командную строку.

quote <команда>
Отправка произвольной команды ftp, где:
<команда> — команда для отправки.

recv <удаленный_файл> [<локальный_файл> ]
Получение файла с использованием текущих настроек типов файлов, где:
<удаленный_файл> — удаленный файл для копирования;
<локальный_файл > — имя файла на локальном компьютере.

remotehelp [<команда> ]
Получение справочных сведений о командах удаленной системы, где:
<команда > — команда удаленной системы, если не задан, то выводится список всех команд.

rename <имя_файла> <новое_имя_файла>
Переименование удаленного файла, где:
<имя_файла > — имя файла для переименования;
<новое_имя_файла > — новое имя файла.

rmdir <имя_каталога>
Удаление каталога на удаленном компьютере, где:
<имя_каталога > — имя каталога для удаления.

send <локальный_файл> [<удаленный_файл> ]
Копирование одного файла с использованием текущих настроек типов файлов, где:
<локальный_файл > — имя локального файл для копирования;
<удаленный_файл> — имя файла на удаленном компьютере.

status
Отражение текущего состояния подключения ftp.

trace
Переключение трассировки пакетов.

type [<имя_типа> ]
Установка типа передачи файлов, где:
<имя_типа > — тип передачи файлов, если не указан будет выведен текущий тип передачи файлов.

user <имя_пользователя> [<пароль> ] [<учетная_запись> ]
Отправка сведений для подключения к удаленному компьютеру, где:
<имя_пользователя > — имя пользователя для подключения к удаленному компьютеру;
<пароль > — пароль, для указанного имени пользователя, если не указан, но требуется для подключения, команда ftp запросит его у пользователя;
<учетная_запись > — учетная запись для подключения к удаленному компьютеру, если не указана, но требуется для подключения, команда ftp запросит ее у пользователя;

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


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

Для начала напишем «батник», который будет загружать на сервер сайт файл file_data.dat из «С:\example » . Алгоритм работы bat-файла будет такой:

  • Создаем файл transport.txt с последовательностью операторов ftp;
  • Выполняем команду ftp, указав в качестве параметров созданный файл;
  • Удаляем transport.txt.

В данном примере имя файла и директорий жестко прописаны в файле. Это не всегда удобно. Доработаем bat-файл таким образом, чтобы данные для загрузки он получал в качестве параметров, а также вынесем все изменяемые значения в переменные файла. Получим следующий код ():

Соответственно, чтобы скопировать файл file_data.dat из «C:\example » на FTP-сервер в «Temp\Backup » , потребуется запустить этот «батник» указав в качестве параметров имя файла, локальный и удаленный каталоги.

Аналогичным образом можно написать bat-файлы для и на FTP-сервере, а также исполняющий файл с произвольным набором инструкций.

Помогла ли Вам данная статья?

Еще один широко распространенный сервис Интернет – ftp. Русского перевода этого слова нет, и его так и называют в разговоре – эфтэпэ. Расшифровывается эта аббревиатура как протокол передачи файлов, но при рассмотрении ftp как сервиса Интернет имеется в виду не просто протокол, но именно сервис – доступ к файлам в файловых архивах.

Вообще говоря, ftp – стандартная программа, работающая по протоколу TCP, всегда поставляющаяся с операционной системой. Её исходное предназначение – передача файлов между разными компьютерами, работающими в сетях TCP/IP: на одном из компьютеров работает программа-сервер, на втором пользователь запускает программу-клиента, которая соединяется с сервером и передает или получает по протоколу ftp файлы. Тут предполагается, что пользователь зарегистрирован на обоих компьютерах и соединяется с сервером под своим именем и со своим паролем на этом компьютере. Протокол ftp, разумеется, оптимизирован для передачи файлов.

Данная черта и послужила причиной того, что программы ftp стали частью отдельного сервиса Интернет.

Дело в том, что сервер ftp зачастую настраивается таким образом, что соединиться с ним можно не только под своим именем, но и под условным именем anonymous – аноним. Тогда становится доступна не вся файловая система компьютера, но некоторый набор файлов на сервере, которые составляют содержимое сервера anonymous ftp – публичного файлового архива. Итак, если кто-то хочет предоставить в публичное пользование файлы с информацией, программами и прочим, то ему достаточно организовать на своем компьютере, включенном в Интернет, сервер anonymous ftp. Сделать это достаточно просто, программы-клиенты ftp есть практически на любом компьютере – поэтому сегодня публичные файловые архивы организованы в основном как серверы anonymous ftp. На таких серверах сегодня доступно огромное количество информации и программного обеспечения. Практически все, что может быть предоставлено публике в виде файлов, доступно с серверов anonymous ftp. Это и программы – свободно распространяемые и демонстрационные версии, это и мультимедиа, это, наконец просто тексты – законы, книги, статьи, отчеты.

Несмотря на распространенность, у ftp есть и множество недостатков. Программы-клиенты ftp могут быть не всегда удобны и просты в использовании. Не всегда можно понять, а что это за файл перед нами – то ли это тот файл, что мы ищем, то ли нет. Нет простого и универсального средства поиска на серверах anonymous ftp – хотя для этого и существует специальный сервис archie, но это независимая программа, неуниверсальная и не всегда применимая. Программы ftp довольно стары и некоторые их особенности, бывшие полезными при рождении, не очень понятны и нужны сегодня – так, например, для передачи файлов есть два режима – бинарный и текстовый, и если вдруг неправильно выбран режим, то передаваемый файл может быть поврежден. Описания файлов на сервере выдаются в формате операционной системы сервера, а список файлов операционной системы UNIX может привести в недоумение пользователя DOS. Проблема тут в том, что со списком файлов выдается лишняя информация, а слишком много знать всегда вредно. Серверы ftp нецентрализованы, и это несет свои проблемы.

Несмотря на все это, серверы anonymous ftp сегодня – стандартный путь организации публичных файловых архивов в Интернет. Можно также организовывать доступ к файлам под паролем – например, своим клиентам.

Ftp – сервис прямого доступа, требующий полноценного подключения к Интернет, но возможен и доступ через электронную почту – существуют серверы, которые могут прислать по электронной почте файлы с любых серверов anonymous ftp. Однако это может быть весьма неудобно, ибо такие серверы сильно загружены, и запрос может долго ждать своей очереди. Кроме того, большие файлы при отсылке делятся сервером на части ограниченного размера, посылаемые отдельными письмами – и если одна часть из сотни потеряется или повредится при передаче, то остальные 99 тоже окажутся ненужными.

Протокол Передачи Файлов (FTP) - протокол интернет, позволяющий пользователям выгружать файлы на сервер FTP и загружать их с этого сервера. Чтобы использовать FTP для отправки и получения файлов, требуется учетная запись на сервере FTP. Кроме дейтсвующей учетной записи, необходим FTP-клиент на компьютере, который подключается к серверу. Internet Explorer и другие веб-браузеры будут взаимодействовать с протоколом FTP. Однако другие FTP-клиенты обеспечивают более высокие скорости передачи и больше функций. Некоторые FTP-клиенты, распространяемые бесплатно или условно бесплатно - это WS_FTP, CuteFTP и FileZilla.

Инструкция

  • 1 Загрузите и установите один из FTP-клиентов. (Смотрите Источники.)
  • 2 Откройте FTP-клиент и кликните "Новое Соединение."
  • 3 Введите доменное имя для сервера FTP, чтобы получить к нему доступ.
  • 4 Введите ID и пароль паользователя в соответствующие поля, если это требуется.
  • 5 Нажмите кнопку "Соединиться". FTP-клиент отобразит сервер FTP на одной панели интерфейса, а файлы, расположенные на вашем компьютере - на другой.
  • 6 Перетаскивайте файлы между левой и правой панелями (локального и удаленного компьютера), чтобы осуществить передачу на сайт FTP и с сайта. =>> Доступ к сайту FTPс помощью браузера:
  • 7 Откройте веб-браузер и введите доменное имя сайта FTPв адресную строку. Ссылки URL на сайты FTP содержат префикс "ftp://", но не "http://."
  • 8 Нажмите клавишу "Ввод". Откроется диалоговое окно входа на сервер FTP, если на сайт FTP есть защита безопасности учетной записи пользователя. Если на сайте FTP нет настроек безопасности, этот сайт FTP будет отображен в виде, аналогичном дереву файлов в Windows Explorer.
  • 9 Перетащите файлы с сайта FTP на рабочий стол, чтобы загрузить файлы, или перетащите файлы с локального компьютера на панель сайта FTP, чтобы выгрузить их на сайт.

И задумался: а все ли знают, что для работы с FTP-хранилищами вполне достаточно штатных инструментов Windows? В этой статье я опишу три простых метода передачи файлов по FTP на примере . Те же приемы действуют и в . Вам понадобятся всего лишь , Проводник и командная строка.

Способ первый: Internet Explorer 8

Любому пользователю Интернета знакомы HTTP-адреса для доступа к веб-сайтам, которые вводятся в адресной строке браузера - например, . Адреса для доступа к FTP-серверам строятся по такому же принципу: .

Введите в адресной строке адрес общедоступного FTP-хранилища, например, Microsoft (рис. A) и нажмите . В случае успешного подключения вы увидите корневой каталог. Для доступа к подкаталогам и файлам нажмите на основном каталоге. Чтобы загрузить файл, нажмите на нем правой кнопкой мыши и выберите опцию «Сохранить объект как» (Save Target As).

Как видите, на сервере хранятся все статьи базы данных, исправления, обновления, утилиты и документация Microsoft, только представлены они в виде списка с датами. Подробные сведения о FTP-хранилище содержатся в файлах «readme.txt».

Рисунок A. FTP-сервер Microsoft - вид из Internet Explorer 8.

Обратите внимание: для успешного подключения к FTP-серверу с помощью IE должны быть включены опции «Разрешить просмотр FTP-папок (за пределами Internet Explorer)» (Enable FTP folder view (outside of Internet Explorer)) и «Использовать пассивный FTP-протокол (для совместимости с брандмауэрами и DLS-модемами)» (Use Passive FTP (for firewall and DSL modem compatibility)) в разделе «Обзор» (Browsing) на вкладке «Дополнительно» (Advanced) диалогового окна «Свойства обозревателя» (Internet Options). Вызвать его можно из меню «Сервис» (Tools).

Для доступа к частным FTP-серверам необходимо ввести имя пользователя и пароль (рис. B). Однако таким способом в IE 7 или IE 8 можно посмотреть лишь список файлов. Для загрузки придется воспользоваться Проводником (Windows Explorer). Подробнее см. на рис. C, D, E и F.


Рисунок B. Для доступа к частным FTP-серверам требуется имя пользователя и пароль.


Рисунок C. Выберите опцию «Страница | Открыть FTP-узел в Проводнике Windows» (Page | Open FTP Site in Windows Explorer) или «Вид | Открыть FTP-узел в Проводнике Windows» (View | Open FTP Site in Windows Explorer), чтобы запустить Проводник.



Рисунок D. В диалоговом окне с предупреждением безопасности Internet Explorer нажмите кнопку «Разрешить» (Allow).

И задумался: а все ли знают, что для работы с FTP-хранилищами вполне достаточно штатных инструментов Windows? В этой статье я опишу три простых метода передачи файлов по FTP на примере . Те же приемы действуют и в . Вам понадобятся всего лишь , Проводник и командная строка.

Способ первый: Internet Explorer 8

Любому пользователю Интернета знакомы HTTP-адреса для доступа к веб-сайтам, которые вводятся в адресной строке браузера - например, . Адреса для доступа к FTP-серверам строятся по такому же принципу: .

Введите в адресной строке адрес общедоступного FTP-хранилища, например, Microsoft (рис. A) и нажмите . В случае успешного подключения вы увидите корневой каталог. Для доступа к подкаталогам и файлам нажмите на основном каталоге. Чтобы загрузить файл, нажмите на нем правой кнопкой мыши и выберите опцию «Сохранить объект как» (Save Target As).

Как видите, на сервере хранятся все статьи базы данных, исправления, обновления, утилиты и документация Microsoft, только представлены они в виде списка с датами. Подробные сведения о FTP-хранилище содержатся в файлах «readme.txt».

Рисунок A. FTP-сервер Microsoft - вид из Internet Explorer 8.

Обратите внимание: для успешного подключения к FTP-серверу с помощью IE должны быть включены опции «Разрешить просмотр FTP-папок (за пределами Internet Explorer)» (Enable FTP folder view (outside of Internet Explorer)) и «Использовать пассивный FTP-протокол (для совместимости с брандмауэрами и DLS-модемами)» (Use Passive FTP (for firewall and DSL modem compatibility)) в разделе «Обзор» (Browsing) на вкладке «Дополнительно» (Advanced) диалогового окна «Свойства обозревателя» (Internet Options). Вызвать его можно из меню «Сервис» (Tools).

Для доступа к частным FTP-серверам необходимо ввести имя пользователя и пароль (рис. B). Однако таким способом в IE 7 или IE 8 можно посмотреть лишь список файлов. Для загрузки придется воспользоваться Проводником (Windows Explorer). Подробнее см. на рис. C, D, E и F.


Рисунок B. Для доступа к частным FTP-серверам требуется имя пользователя и пароль.


Рисунок C. Выберите опцию «Страница | Открыть FTP-узел в Проводнике Windows» (Page | Open FTP Site in Windows Explorer) или «Вид | Открыть FTP-узел в Проводнике Windows» (View | Open FTP Site in Windows Explorer), чтобы запустить Проводник.



Рисунок D. В диалоговом окне с предупреждением безопасности Internet Explorer нажмите кнопку «Разрешить» (Allow).