Команда FTP запускает встроенный интерактивный FTP-клиент Windows, который позволяет подключаться к FTP-серверам и управлять файлами без установки сторонних программ. Основные сценарии применения — загрузка файлов на сервер хостинга, скачивание дистрибутивов с FTP-зеркал и автоматизированная передача файлов через BAT-скрипты.
- Синтаксис команды FTP
- Ключи и параметры
- Примеры использования
- Подключение к FTP-серверу
- Скачивание файла с сервера
- Загрузка файла на сервер
- Автоматизация через скрипт-файл
- Скачивание нескольких файлов по маске
- Просмотр содержимого каталога и навигация
- Частые ошибки и решения
- Когда применять, а когда нет
- FAQ
- Поддерживает ли встроенный FTP в Windows шифрование (FTPS, SFTP)?
- Как передать файл по FTP без ввода пароля вручную?
- Почему mget скачивает файлы в неожиданный каталог?
- Как подключиться к FTP-серверу на нестандартном порту?
- Чем отличаются команды get и mget?
Синтаксис команды FTP
FTP [-v] [-d] [-i] [-n] [-g] [-s:имя_файла] [-a] [-A] [-x:размер] [-r:размер] [-b:размер] [-w:буфер] [хост]
Параметры запуска:
хост— имя или IP-адрес FTP-сервера (можно указать при запуске или подключиться командой open внутри сессии)-s:имя_файла— выполнить команды из текстового файла вместо интерактивного ввода (скриптовый режим)-n— не выполнять автоматический вход (auto-login) при подключении-i— отключить интерактивные подтверждения при пакетной передаче файлов-v— подавить вывод ответов сервера-A— использовать анонимный вход
Ключи и параметры
После подключения к серверу вводятся команды FTP-сессии:
| Команда | Описание | Пример |
|---|---|---|
open | Подключиться к FTP-серверу | open ftp.example.com |
user | Авторизоваться под другим пользователем | user mylogin |
ls / dir | Список файлов на удалённом сервере | dir |
cd | Перейти в каталог на сервере | cd /public/uploads |
lcd | Перейти в локальный каталог | lcd C:\Downloads |
get | Скачать один файл с сервера | get report.pdf C:\report.pdf |
mget | Скачать несколько файлов по маске | mget *.csv |
put | Загрузить один файл на сервер | put C:\backup.zip /backups/backup.zip |
mput | Загрузить несколько файлов по маске | mput *.jpg |
delete | Удалить файл на сервере | delete /old/file.txt |
rename | Переименовать файл на сервере | rename file.txt file_old.txt |
mkdir | Создать каталог на сервере | mkdir /uploads/2024 |
binary | Переключиться в бинарный режим передачи | binary |
ascii | Переключиться в текстовый режим передачи | ascii |
bye / quit | Завершить сессию и выйти из FTP | bye |
Примеры использования
Подключение к FTP-серверу
Открыть интерактивную сессию с FTP-сервером по IP-адресу или доменному имени.
ftp ftp.example.com
После запуска FTP-клиент запросит имя пользователя (User) и пароль (Password). После успешного входа появится приглашение ftp> для ввода команд.
Скачивание файла с сервера
Загрузить конкретный файл из текущего каталога сервера в локальную папку.
binary get /releases/app_v2.zip C:\Downloads\app_v2.zip
Перед загрузкой архивов и исполняемых файлов всегда переключайтесь в бинарный режим командой binary, иначе файл будет повреждён.
Загрузка файла на сервер
Отправить локальный файл в указанный каталог на FTP-сервере.
binary put C:\Backups\db_backup.sql /backups/db_backup.sql
Убедитесь, что у вашего пользователя есть права на запись в целевой каталог сервера.
Автоматизация через скрипт-файл
Выполнить последовательность FTP-команд без интерактивного ввода — удобно для задач по расписанию.
Создайте файл C:\ftp_script.txt со следующим содержимым:
open ftp.example.com mylogin mypassword binary cd /uploads put C:\data\report.csv report.csv bye
Запустите скрипт:
ftp -s:C:\ftp_script.txt
FTP выполнит все команды из файла последовательно и завершит работу. Это позволяет добавить передачу файлов в Планировщик задач.
Скачивание нескольких файлов по маске
Загрузить все CSV-файлы из текущего каталога сервера.
prompt off mget *.csv
Команда prompt off отключает подтверждение для каждого файла. Файлы будут сохранены в текущий локальный каталог.
Просмотр содержимого каталога и навигация
Убедиться в структуре каталогов сервера перед передачей файлов.
dir cd /public/files dir
dir показывает файлы с правами и размерами. Для компактного списка без деталей используйте ls.
Частые ошибки и решения
| Ошибка / ситуация | Причина | Решение |
|---|---|---|
Connection refused или не удаётся подключиться | Сервер недоступен, неверный адрес или порт 21 заблокирован брандмауэром | Проверьте адрес сервера. Уточните, используется ли нестандартный порт: open ftp.example.com 2121 |
| Файл скачан, но открыть не получается (архив повреждён) | Файл передан в ASCII-режиме вместо бинарного | Перед загрузкой введите команду binary. Для текстовых файлов используйте ascii |
Access denied при загрузке файла | Недостаточно прав на запись в целевой каталог сервера | Проверьте права пользователя на сервере или перейдите в каталог, где есть права записи |
| FTP зависает при соединении (passive mode) | Сервер ожидает пассивный режим, а клиент работает в активном | Встроенный FTP Windows работает в активном режиме. Используйте альтернативный клиент с поддержкой PASV (WinSCP, FileZilla) или настройте исключение в брандмауэре |
| Пароль с символами @ или # не работает в скрипт-файле | Специальные символы воспринимаются как разделители | Смените пароль на сервере или используйте клиент с поддержкой экранирования спецсимволов |
Когда применять, а когда нет
Встроенный FTP-клиент Windows подходит для разовых задач и простой автоматизации через скрипт-файлы с ключом -s. Ограничения: нет поддержки FTPS и SFTP (зашифрованных протоколов), работает только в активном режиме (проблемы с NAT и брандмауэрами), не поддерживает возобновление прерванной загрузки. Для регулярного использования рекомендуется WinSCP или FileZilla. В PowerShell можно использовать класс [System.Net.FtpWebRequest] или модуль WinSCP для автоматизации с поддержкой SFTP.
FAQ
Поддерживает ли встроенный FTP в Windows шифрование (FTPS, SFTP)?
Нет. Встроенный FTP-клиент Windows поддерживает только незашифрованный FTP. Для FTPS и SFTP используйте WinSCP, FileZilla или PowerShell с соответствующими модулями.
Как передать файл по FTP без ввода пароля вручную?
Создайте скрипт-файл с командами (включая логин и пароль) и запустите: ftp -s:script.txt. Имейте в виду, что пароль хранится в файле открытым текстом — ограничьте доступ к этому файлу.
Почему mget скачивает файлы в неожиданный каталог?
Файлы сохраняются в текущий локальный каталог на момент выполнения команды. Перед mget смените локальный каталог командой lcd C:\нужная\папка.
Как подключиться к FTP-серверу на нестандартном порту?
Используйте команду open с указанием порта: open ftp.example.com 2121. При запуске из командной строки нестандартный порт через пробел после адреса: ftp ftp.example.com 2121.
Чем отличаются команды get и mget?
get скачивает один конкретный файл и позволяет указать локальное имя при сохранении. mget скачивает несколько файлов по маске (например *.pdf), сохраняя их под исходными именами.


