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

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

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

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

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

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

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

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

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

Введите имя пользователя, пароль и нажмите кнопку «Вход» (Log On), чтобы подключиться к FTP-серверу при помощи Проводника.

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

Способ второй: Проводник

Способ, описанный выше, не слишком удобен. Куда проще сразу подключиться к удаленному серверу напрямую с помощью Проводника.

Запустите Проводник и введите адрес FTP-сервера в адресной строке (screen 5).

Нажмите [Enter], а затем введите имя пользователя и пароль (screen 6).

Но что если вам приходится подключаться к FTP регулярно? В таком случае вводить всякий раз адрес вручную не особенно удобно. Ярлык или ссылку для быстрого доступа к серверу можно создать тремя способами.

Вариант первый: ярлык на рабочем столе

Добавить на рабочий стол ярлык для быстрого доступа к папке или файлу можно двумя способами:

• Выделите файл или папку и перетащите на рабочий стол, удерживая клавиши [Ctrl]+[Shift].

•    Нажмите на файле или папке правой кнопкой мыши и перетащите на рабочий стол, удерживая кнопку нажатой. В появившемся меню выберите опцию «Создать ярлыки» (Create Shortcuts Here).

Вариант второй:ссылка в Избранном

Создать в Избранном (Favorites) ссылку для быстрого доступа к папке или файлу можно двумя способами:

•    Перетащите файл или папку в раздел «Избранное» на панели навигации.

•    Нажмите на файле или папке правой кнопкой мыши и перетащите в раздел «Избранное» на панели навигации, удерживая кнопку нажатой. В появившемся меню выберите опцию «Создать ярлыки».

Вариант третий: ссылка в разделе «Компьютер»

Чтобы создать ссылку на файл или папку в разделе «Компьютер» (Computer) на панели навигации, нажмите на этом разделе правой кнопкой мыши и выберите опцию «Добавить новый элемент в сетевое окружение» (Add Network Location). Откроется Мастер добавления сетевого размещения (Add Network Location Wizard).

FTP-папки в Проводнике: возможности и ограничения

В ответ на мой запрос представитель Microsoft направил мне следующие сведения о возможностях и ограничениях при просмотре FTP-папок в Проводнике.

«Проводник по умолчанию поддерживает работу с FTP-папками и предоставляет пользователям следующие возможности:

•    ограниченный просмотр (мета-данные и эскизы не поддерживаются);

•    копирование, перемещение и удаление файлов и папок;

•    создание новых папок;

•    поиск и фильтрация в открытой папке;

•    добавление в Избранное;

•    запуск файлов с помощью диалогового окна «Открыть» (Open).

Ряд функций Проводника при работе с FTP-папками не поддерживается:

•    файлы и папки нельзя копировать и перемещать в рамках сервера - поддерживается только копирование и перемещение с/на локальный ПК;

•    просмотр эскизов, мета-данных и предварительный просмотр недоступны;

•    сохранять файлы в FTP-папки с помощью стандартного диалогового окна сохранения можно, только если приложение поддерживает открытие папок из виртуального пространства имен, что встречается довольно редко;

•    имена файлов в кодировке Unicode не читаются;

•    второстепенные потоки не поддерживаются.

Способ третий: командная строка DOS

Утилиту «ftp.exe», входящую в состав Windows по умолчанию, можно запустить из командной строки. Она позволяет скачивать и загружать файлы по протоколу FTP вручную, но главное ее достоинство - функции автоматизации. С ее помощью можно запланировать и автоматизировать передачу файлов по FTP на регулярной основе.

Чтобы получить справку по утилите FTP, введите в командной строке «ftp -?» и нажмите [Enter], Чтобы посмотреть список доступных команд, введите ftp и нажмите [Enter] для запуска утилиты, а затем введите «?» и снова нажмите [Enter], Для завершения работы утилиты введите bye и нажмите [Enter],

Для автоматизации загрузки и скачивания можно использовать командные файлы и сценарии FTP. Ниже приводятся примеры таких сценариев. Замените в них выделенный курсивом текст на нужное имя хоста, имя пользователя, пароль, путь к локальному файлу и путь к удаленному каталогу.

Передача одного файла

Скопируйте в Блокнот (Notepad) следующий текст, подставив нужные значения, и сохраните его как «Н:\ TransferTest\transfer.bat».

ftp -v -n -s:H:\TransferTest\transfer.ftp Назначение команд:

•    ftp - запускает утилиту FTP;

•    -v - отключает вывод информации об ответах удаленного FTP-сервера;

•    -п - отключает автоматический вход;

•    -s: - указывает путь к файлу, содержащему команды для FTP-передачи. Путь не должен содержать пробелов.

Затем скопируйте в Блокнот следующий текст, подставив нужные значения, и сохраните его как «Н:\ TransferTest\transfer.ftp».

open example.yourhostingsite.com

user yourusername

password

cd /public_ftp/test

put «W:\pecos-softwareworks\shtml\

changes_to_the_windows7_taskbar_you_

should_know_about.shtml»

bye

Назначение команд:

•    open - открывает удаленный FTP-сервер;

•    user - указывает имя пользователя для входа на сервер;

•    password - указывает пароль для входа на сервер;

•    cd - переходит в указанный удаленный каталог для загрузки файлов, в данном примере - «/public_ftp/test»;

•    put - загружает указанный локальный файл на удаленный сервер; кавычки можно не использовать, если путь не содержит пробелов;

•    bye - завершает сеанс подключения и работу утилиты FTP.

Совет: команды FTP можно сокращать до трех символов - например, использовать bin вместо binary.

Еще один совет: длинные пути неудобно вводить вручную - это слишком долго, да к тому же высока вероятность совершить ошибку. Чтобы облегчить себе задачу, воспользуйтесь одним из следующих методов:

•    Откройте в Проводнике папку, в которой хранится нужный файл, нажмите правой кнопкой мыши на любом фрагменте адреса в адресной строке и выберите опцию «Копировать адрес как текст» (Copy Address as Text). Вставьте скопированный адрес в сценарий FTP и добавьте к нему имя файла.

•    Нажмите правой кнопкой мыши на файле в Проводнике, выберите опцию «Свойства» (Properties) и откройте вкладку «Безопасность» (Security). Скопируйте полный путь к файлу из строки «Имя объекта» (Object name) и вставьте его в сценарий FTP.

В командной строке введите H:\TransferTest\ transfer.bat и нажмите [Enter] или запустите командный файл двойным щелчком. При этом может появиться предупреждение безопасности, показанное на screen 7.    ,

Выберите опцию «Общественные сети» (Public Networks) и нажмите кнопку «Разрешить доступ» (Allow Access).

Команда put загружает файл с клиентского компьютера на сервер. Если такой файл на сервере уже есть, он будет заменен.

Для скачивания файла с удаленного сервера на клиентский ПК используется команда get.

Передача нескольких файлов

Скопируйте в Блокнот следующий текст, подставив нужные значения, и сохраните его как «Н:\ TransferTest\multiple_transfer.bat».

cd /D W:\pecos-softwareworks\shtml ftp -v -n -s:Н:\TransferTest\multiple_ transfer.ftp

Скопируйте в Блокнот следующий текст, подставив нужные значения, и сохраните его как «Н:\ TransferTest\multiple_transfer.ftp».

open example.yourhostingsite.com

user yourusername

password

cd /public_ftp/test prompt

mput «changes_to_the_windows7_taskbar_ you_should_know_about.shtml» «a_case_ of_maxtaken_identity.shtml» led \Projects\PSWW\VIC\Package binary

mput <<vista_image_capture_l_l_2 . zip» <<vista_image_capture_l_2_0 . zip» bye

Назначение команд:

•    open - открывает удаленный FTP-сервер;

•    user - указывает имя пользователя для входа на сервер;

•    password - указывает пароль для входа на сервер;

•    cd - переходит в указанный удаленный каталог для загрузки файлов, в данном примере - <</public_ftp/test»; •.prompt - отключает интерактивные приглашения на ввод при загрузке множественных файлов с использованием команды mput;

•    mput - загружает указанные файлы ASCII с локального ПК; кавычки можно не использовать, если путь не содержит пробелов;

•    led - переходит в указанный локальный каталог, в котором хранятся файлы для загрузки, в данном примере - «\ Projects\PSWW\VIC\Package»;

•    binary - переключается в режим двоичной передачи;

•    mput - загружает указанные бинарные файлы с локального ПК; кавычки можно не использовать, если путь не содержит пробелов;

•    bye - завершает сеанс подключения и работу утилиты FTP.

Теперь в командной строке введите H:\TransferTest\ multiple_transfer.bat и нажмите [Enter] или запустите командный файл двойным щелчком.

Этот сценарий позволяет загрузить на сервер сразу несколько файлов (screen 8).

Обратите внимание: я использовал команду cd для смены каталога в командном файле и команду led для смены локального каталога в сценарии FTP, чтобы

упростить команду mput за счет использования относительного пути вместо полного.

Совет: пробелы в именах файлов могут привести к возникновению проблем при передаче файлов, поэтому вместо них желательно использовать подчеркивания, если это возможно.

Команда mput позволяет загрузить несколько файлов с клиентского компьютера на удаленный сервер. Если на сервере такие файлы уже существуют, они будут заменены.

Для скачивания нескольких файлов с удаленного сервера на локальный ПК используйте команду mget.

Передача текстовых и бинарных файлов

Передача текстовых (ASCII) и двоичных файлов с помощью утилиты FTP осуществляется по-разному. По умолчанию утилита загружает файлы в режиме ASCII - именно такой способ используется в приведенном выше примере с передачей одного файла. В примере с загрузкой нескольких файлов присутствуют оба типа файлов - и ASCII, и бинарные. Чтобы предотвратить потерю данных, необходимо использовать подходящий метод передачи для каждого конкретного файла.

Проблемы безопасности

При передаче файлов по протоколу FTP возникает очевидная угроза безопасности. Если имя пользователя и пароль хранятся в незашифрованном текстовом файле, их может украсть любой, кто имеет доступ к компьютеру. Так что сценарий FTP стоит зашифровать. Подробнее о шифровании можно узнать в штатной справке Windows, воспользовавшись поиском по ключевому слову «шифрование». Нужные сведения содержатся в разделе «Шифрование или расшифровка папки или файла» (Encrypt or Decrypt a Folder or File). О шифровании в Windows 2000, Windows Server 2003, Windows XP, Windows Vista и Windows 7 рассказывается также на сайте Microsoft. В Википедии приводится полный список версий Windows, поддерживающих систему шифрования данных Encrypting File System'(EFS). Кроме того, можно воспользоваться сторонним приложением для шифрования, например, TrueCrypt.

Проблемы при использовании брандмауэра

Если при попытке подключиться к FTP-серверу вы получаете сообщение об ошибке «425 Невозможно установить соединение: Время ожидания истекло» (Unable to build data connection: Connection timed out), скорее всего, проблема связана с брандмауэром. Утилита FTP не поддерживает передачу данных в пассивном режиме, поэтому при использовании брандмауэра могут возникать ошибки в передаче данных. Я сталкивался с такой проблемой при использовании Comodo Firewall 4.0. Чтобы ее устранить, необходимо разрешить утилите FTP удаленный доступ в настройках брандмауэра.

В заключение

Прежде чем пускаться на поиски стороннего приложения для работы с FTP, обратите внимание на встроенные инструменты Windows. Возможно, одного из описанных методов будет вполне достаточно для выполнения стоящих перед вами задач.