Как скачать файл с ftp сервера через командную строку
Перейти к содержимому

Как скачать файл с ftp сервера через командную строку

  • автор:

Как скачать через http или ftp файл через командную строку ?

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.

Похожие темы

  • Форум Библиотеки разбора командной строки (2002)
  • Форум Перекачка по FTP в одной командной строке (2003)
  • Форум Перекачка по FTP в одной командной строке (2003)
  • Форум мылить из командной строки? (2003)
  • Форум SMS из командной строки (2005)
  • Форум браузер в командной строке (2013)
  • Форум ICQ из командной строки (2005)
  • Форум Отправка файла с командной строки (2006)
  • Форум Командная строка и GNOME (2001)
  • Форум debian как скачать файл из командной строки по http? (2008)

ftp get

Копирует удаленный файл на локальный компьютер с помощью текущего типа передачи файлов.

Эта команда совпадает с командой ftp recv.

Синтаксис

Параметры

Параметр Описание
Указывает удаленный файл для копирования.
[] Указывает имя файла, используемого на локальном компьютере. Если localfile не указан, файл получает имя удаленного файла.

Примеры

Чтобы скопировать test.txt на локальный компьютер с помощью текущей передачи файлов, введите следующее:

get test.txt 

Чтобы скопировать test.txt на локальный компьютер как test1.txt с помощью текущей передачи файлов, введите следующее:

get test.txt test1.txt 

Дополнительные ссылки

  • Условные обозначения синтаксиса команд командной строки
  • Команда ftp recv
  • Команда ftp ascii
  • двоичная команда ftp
  • Дополнительные рекомендации по FTP

FTP через командную строку cmd

FTP через командную строку cmd

Продолжаем тему работы с FTP сервером! Мы уже рассмотрели основы протокола FTP, а так же способы работы с FTP сервером, а сегодня мы рассмотрим работу с FTP сервером через командную строку cmd. Как я и говорил данный метод используется довольно редко, по крайней мере мной, так как проще работать через FTP клиент. Однако, для написания автоматизированных скриптов для обмена данными между вашей локальной машиной и FTP сервером эти знания вам очень даже пригодятся.

В данном видео писать скрипт мы не будем, этим мы займемся в следующем видео, а просто рассмотрим основные команды для работы с FTP сервером через командную строку.

Основные команды для работы с FTP сервером через командную строку CMD

И для начала нам необходимо запустить командную строку (Пуск \ Приложения \ Служебные программы \ Командная строка) или Win+R \ cmd.

Первым делом необходимо перейти в режим работы с FTP сервером делается это через команду FTP

Далее необходимо подключиться непосредственно к серверу, с которым мы будем работать, делается это через команду OPEN АДРЕС_FTP_СЕРВЕРА

Вводим ИМЯ_ПОЛЬЗОВАТЕЛЯ который имеет доступ к данному серверу и ПАРОЛЬ

ftp cherez komandnuyu stroku cmd 2

Если мы ведем команду DIR то нам выведется список файлов и папок которые содержатся на FTP сервере.

ftp cherez komandnuyu stroku cmd 3

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

Вы всегда можете набрать команду HELP и вам выведется список поддерживаемых команд, чтобы узнать назначение команды достаточно ввести HELP НАЗВАНИЕ_КОМАНДЫ.

ftp cherez komandnuyu stroku cmd 4

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

У меня нет доступа для непосредственно записи файлов в корень данного FTP-сервера, но есть доступ к папке htdocs, поэтому для начала перейдём в данную папку. Делается это команды CD ИМЯ_ПАПКИ.

Мы видим, что в данной папке у нас ничего нет. Давайте попробуем скопирую сюда какой-нибудь файл с нашего локального компьютера. Для этого на локальном компьютере создадим папочку, допустим у меня это будет nod32_update так как в одном из следующих видео, я буду рассказывать о том, как написать скрипт для автоматического обновления антивируса NOD32. И давайте создадим какой-нибудь текстовый документ допустимым 123.txt.

Чтобы скопировать файл 123.txt на FTP-сервер вводим команду PUT c:\nod32_update\123.txt. Файл скопирован, можем проверить это командой DIR. Как вы видите, файл скопировался именно в ту папку, в которую мы перешли через команду CD.

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

Каталог на сервере мы научились указывать, через команду CD

ftp cherez komandnuyu stroku cmd 5

Локальный каталог указывается через команду LCD, если мы её наберем, то увидим, что текущий каталог — это папка с профилем текущего пользователя. А так как я собираюсь копировать файлы из другой папки то ввожу команду LCD ПУТЬ_К_НУЖНОЙ_ПАПКЕ

В чем суть, есть команда MPUT которая копирует файлы из локальной папки на удаленную и она не запрашивает какие именно это папки, поэтому нам эту информацию нужно сообщить.

Для того, чтобы скопировать все файлы из локальной папки в удаленную я указываю команду MPUT *.*, где *.* означает все файлы находящиеся в локальной папке.

Здесь у нас задаётся вопрос подтверждение для каждого файла хотим его скопировать или нет для этого живём Enter. Чтобы подобные подтверждение не выводились есть команда PROMT отключает интерактивный режим выключен.

ftp cherez komandnuyu stroku cmd 6

Теперь попробуем сделать обратное действие, а именно скопировать все файлы с удаленной папки на FTP сервере в локальную. Делается это через команду MGET *.*.

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

Скачивание, загрузка и удаление файлов с FTP-сервера из командной строки

Часто требуется автоматизировать процессы скачивания, загрузки и удаления файлов 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:

komanda_ftp_01

Далее, работа с 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 удаленный_файл_1> … удаленный_файл_n>
Удаление нескольких файлов на удаленном компьютере, где:
— имена файлов для удаления.

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

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

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

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

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

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

put [ ]
Отправка одного файла, где:
локальный_файл>
— имя локального файл для копирования;
— имя файла на удаленном компьютере.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пусть у нас есть FTP-сервер с адресом tavalik.ru, имя пользователя для подключения — tavalik, пароль — 1234567890. Требуется загрузить на сервер в директорию «Temp\Backup» файл file_data.dat из «C:\example», а затем сохранить его же на локальный компьютер, в эту же директорию, но уже под именем file_from_ftp.dat.

komanda_ftp_02

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

В итоге получим требуемый результат:

komanda_ftp_03

Обратите внимание, что при указании полного пути на FTP-сервере используется знак «/» между директориями, а для указания пути на локальном компьютере будет использоваться, как обычно, знак «\». Кроме того, если путь будет содержать пробелы, то следует заключить его в кавычки.

Возможен также запуск команды ftp и в пакетном режиме. Эту же задачу можно решить, выполнив команду «ftp -v -n -s:transport.txt» ,

komanda_ftp_04

где файл transport.txt находится в директории «C:\example» и содержит тот же набор операторов:

komanda_ftp_05

2. Пример bat-файла для загрузки файла на FTP

Теперь попробуем написать «батник» для загрузки файлов на FTP-сервер. Для этого создадим новый текстовый документ, и переименуем его в put_on_ftp.bat . Редактировать его можно обычным Блокнотом, но удобнее это делать с помощью бесплатной программы Notepad++.

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

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

komanda_ftp_06

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

komanda_ftp_07

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

komanda_ftp_08

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

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

Смотрите также:

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

Удаление компонент MS SQL Server 2012 Может случиться так, что в процессе установки MS SQL Server 2012 были установлены компоненты, необходимость в которых со временем отпала (или были установлены по ошибке). В этом случае, в целях…

Установка FTP-сервера на IIS 7 в Windows Server 2008 R2 FTP-Сервер обеспечивает возможность передачи файлов между клиентом и сервером с помощью протокола FTP. Здесь будет рассказано как запустить FTP-сервер в Windows Server 2008 R2. 0. Оглавление Добавление службы FTP-сервер Добавление…

Запись опубликована в рубрике cmd с метками Backup, bat-файл, cmd, FTP. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *