Guias

Como usar FTP pela linha de comando no Windows

Um passo a passo prático do cliente FTP de linha de comando embutido no Windows – conectar, transferir arquivos com get e put, automatizar com -s:, e o que usar quando o ftp.exe bate no limite.

· 6 min read · Vlad Fedoniuk

Todo PC com Windows já vem com um cliente FTP de linha de comando. Ele está lá desde os anos 1990: abra o Prompt de Comando ou o PowerShell, digite ftp e pronto. Sem instalação, sem direitos de administrador, sem nada para baixar – que é exatamente por que ele ainda é o jeito mais rápido de pegar um arquivo de um servidor FTP em uma máquina que não é sua, ou de automatizar uma transferência rápida em um servidor de compilação.

Este guia percorre uma sessão completa do ftp.exe – conectar, transferir, automatizar – e é honesto sobre onde a ferramenta deixa de ser a escolha certa. Se você só quer a lista completa de comandos, a referência de comandos FTP cobre todos os comandos de cliente e de protocolo, com sintaxe e exemplos.

O FTP usa duas conexões sem criptografia, um canal de controle na porta 21 e um canal de dados em uma faixa de portas; o FTPS acrescenta TLS aos dois, mas continua precisando de duas; o SFTP leva tudo por uma única conexão criptografada, na porta 22
O ftp.exe do Windows só fala a primeira linha – ele não tem FTPS nem SFTP.

Passo 1: conectar ao servidor

Comece uma sessão passando o endereço diretamente, ou abra o cliente primeiro e use o open:

C:\> ftp ftp.example.com
ftp> open ftp.example.com

O servidor responde com um banner e pede credenciais. Digite o usuário, pressione Enter e depois a senha (ela não aparece na tela). Nos servidores que permitem, o usuário anonymous com qualquer e-mail como senha dá acesso de leitura a arquivos públicos.

Passo 2: dar uma olhada

Quatro comandos cobrem a navegação. O dir lista o diretório remoto atual, o cd o muda, o pwd mostra onde você está, e o lcd – aquele de que todo mundo esquece – muda a pasta local em que os downloads caem e de onde os envios saem:

ftp> dir
ftp> cd /public_html
ftp> lcd C:\Users\vlad\Downloads
Local directory now C:\Users\vlad\Downloads.

Passo 3: mudar para o modo binário

Antes de transferir qualquer coisa que não seja texto puro, digite binary. No modo ASCII padrão, o ftp.exe reescreve os fins de linha durante a transferência – inofensivo em arquivos .txt, destruidor em zips, imagens, executáveis e qualquer outra coisa binária. Esse único comando evita o clássico problema do "o arquivo baixou mas não abre":

ftp> binary
200 Type set to I.

Passo 4: baixar e enviar

O get baixa um arquivo, o put envia um. As versões para vários arquivos, mget e mput, aceitam curingas, e o prompt desliga a confirmação "s/n" por arquivo, para que os curingas rodem sem supervisão. O hash imprime um # por bloco, para que transferências longas mostrem progresso:

ftp> hash
ftp> get backup.zip
ftp> put report.pdf
ftp> prompt
Interactive mode Off.
ftp> mget *.log

Passo 5: encerrar a sessão

O bye (ou quit) fecha a conexão e sai. Uma sessão completa fica assim:

C:\> ftp ftp.example.com
User: alice
Password: ********
ftp> binary
ftp> cd /backups
ftp> lcd C:\Backups
ftp> get site-backup.zip
226 Transfer complete.
ftp> bye

Automatizando transferências com -s:

O ftp.exe pode rodar um script em vez de uma sessão interativa. Coloque os comandos em um arquivo de texto – as duas primeiras linhas são o usuário e a senha – e passe-o com -s:. A opção -n suprime o pedido automático de login quando você mesmo faz o login no script, com o user:

# upload.txt
alice
secretpassword
binary
cd /public_html
lcd C:\Site\dist
prompt
mput *.html
bye
C:\> ftp -s:upload.txt ftp.example.com

Isso funciona com o Agendador de Tarefas para trabalhos recorrentes – mas repare no que você acabou de fazer: guardou uma senha em um arquivo de texto puro, para um protocolo que também a manda sem criptografia pela rede. Tudo bem em uma rede local com uma conta descartável; nada bem para qualquer coisa que importe.

Onde o ftp.exe deixa de ser a ferramenta certa

O cliente embutido é genuinamente útil, e também é um projeto de 30 anos, com limites duros que vale conhecer antes de brigar com eles:

  • Sem modo passivo. O ftp.exe só suporta transferências em modo ativo, em que o servidor abre uma conexão de volta para o seu PC. Roteadores e firewalls modernos bloqueiam isso, e é por isso que as sessões entram normalmente e depois travam para sempre no dir ou no get. Não há opção que resolva – o modo passivo simplesmente não foi implementado.
  • Nenhuma criptografia. Nem SFTP nem FTPS são suportados. As credenciais e o conteúdo dos arquivos viajam em texto claro.
  • Sem retomada, sem recursão. Um download de 2 GB interrompido recomeça do zero, e não há como transferir uma árvore de pastas em um comando só.

Para SFTP, o Windows 10 e o 11 incluem o comando sftp do OpenSSH, que é a escolha moderna e programável – o conjunto de comandos é parecido, mas não idêntico, e a referência de comandos SFTP documenta tudo.

Quando uma interface gráfica é simplesmente mais rápida

O FTP de linha de comando se paga em buscas rápidas e scripts simples. No instante em que você começa a fazer malabarismo com diretórios dos dois lados, a repetir transferências que falharam ou a mover árvores inteiras de pastas, um cliente gráfico ganha no tempo. O FTPie é um cliente FTP gratuito para Windows com modo passivo funcionando, além de SFTP, FTPS, WebDAV e mais de 10 serviços de nuvem em uma janela – arrastar e soltar substitui o mput, as transferências se retomam sozinhas, e o plano gratuito cobre até 3 conexões com servidores.

E, se você gostou da parte de automação, o FTPie Pro inclui uma linha de comando de verdade, com suporte a SFTP/FTPS/nuvem e um construtor visual de comandos, além de transferências agendadas que substituem por completo a dancinha de script mais Agendador de Tarefas – sem senhas em arquivos de texto.

O Construtor de comandos da linha de comando do FTPie montando um comando de transferência, com lista de comandos, campos de argumento e pré-visualização ao vivo

Deixe a referência de comandos FTP nos favoritos para a lista completa – os comandos de cliente e os comandos crus de protocolo aos quais eles correspondem.

Comece seu teste gratuito de 30 dias

Baixe o FTPie e comece seu teste gratuito de 30 dias. Aproveite a integração perfeita entre FTP e nuvem e continue usando a versão gratuita depois.

Baixar teste gratuito
Verificado pelo CASA e analisado pelo VirusTotal
Teste de 30 dias · Versão gratuita incluída
Windows 10 & 11
Vlad Fedoniuk

Vlad Fedoniuk

I'm the founder and developer of FTPie, dedicated to creating innovative software solutions that simplify and enhance your digital life. Visit my personal website at fedoni.uk , or connect with me on X (formerly Twitter) , LinkedIn , or via email at vlad@ftpie.com