Guías

Cómo usar el FTP por línea de comandos en Windows

Un recorrido práctico por el cliente FTP de línea de comandos integrado en Windows: conectarse, transferir archivos con get y put, automatizar con -s:, y a qué recurrir cuando ftp.exe llega a sus límites.

· 6 min de lectura · Vlad Fedoniuk

Todos los PC con Windows vienen con un cliente FTP de línea de comandos. Está ahí desde los años noventa: abres el Símbolo del sistema o PowerShell, escribes ftp y ya estás dentro. Sin instalación, sin permisos de administrador y sin nada que descargar, que es exactamente por lo que sigue siendo la forma más rápida de sacar un archivo de un servidor FTP en una máquina que no controlas, o de automatizar una transferencia rápida en un equipo de compilación.

Esta guía recorre una sesión completa de ftp.exe —conexión, transferencias y scripts— y es honesta sobre dónde la herramienta deja de ser la opción adecuada. Si solo quieres la lista completa de comandos, el Referencia de comandos FTP cubre todos los comandos del cliente y del protocolo, con sintaxis y ejemplos.

El FTP usa dos conexiones sin cifrar, un canal de control por el puerto 21 y un canal de datos en un intervalo de puertos; el FTPS añade TLS a los dos pero sigue necesitando dos; el SFTP lo lleva todo por una única conexión cifrada en el puerto 22
El ftp.exe de Windows solo habla la primera fila: no tiene ni FTPS ni SFTP.

Paso 1: conectarse al servidor

Arranca una sesión pasando directamente el nombre del servidor, o abre primero el cliente y usa abrir:

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

El servidor responde con un mensaje de bienvenida y pide credenciales. Escribe el usuario, pulsa Intro y luego la contraseña (no se mostrará). En los servidores que lo permiten, el usuario anonymous con cualquier correo como contraseña te da acceso de lectura a los archivos públicos.

Paso 2: mirar alrededor

La navegación se cubre con cuatro comandos. dir lista el directorio remoto actual, cd lo cambia, pwd imprime dónde estás, y lcd —el que todo el mundo olvida— cambia la carpeta local donde aterrizan las descargas y de donde salen las subidas:

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

Paso 3: pasar a modo binario

Antes de transferir cualquier cosa que no sea texto plano, escribe binary. En el modo ASCII predeterminado, ftp.exe reescribe los fines de línea durante la transferencia: inofensivo con archivos .txt, destructivo con zips, imágenes, ejecutables y cualquier otra cosa binaria. Este único comando evita el clásico problema de «el archivo se descargó pero no abre»:

ftp> binary 200 Type set to I.

Paso 4: descargar y subir

get descarga un archivo, put sube uno. Sus versiones para varios archivos, mget y mput, aceptan comodines, y prompt desactiva la confirmación «s/n» archivo por archivo, para que los comodines se ejecuten sin vigilancia. hash imprime un # por cada bloque, así las transferencias largas muestran el progreso:

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

Paso 5: terminar la sesión

bye (o quit) cierra la conexión y sale. Una sesión completa tiene este aspecto:

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

Automatizar transferencias con -s:

ftp.exe puede ejecutar un script en lugar de una sesión interactiva. Pon los comandos en un archivo de texto —las dos primeras líneas son el usuario y la contraseña— y pásaselo con -s:. El -n suprime la petición automática de acceso cuando escribes tú mismo el acceso con user:

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

Esto funciona con el Programador de tareas para los trabajos periódicos, pero fíjate en lo que acabas de hacer: has guardado una contraseña en un archivo de texto plano, para un protocolo que además la envía sin cifrar por la red. Vale en una red local con una cuenta desechable; no vale para nada que importe de verdad.

Dónde ftp.exe deja de ser la herramienta adecuada

El cliente integrado es genuinamente útil, y también es un diseño de hace treinta años con límites duros que conviene conocer antes de pelearte con ellos:

  • Sin modo pasivo. ftp.exe solo admite transferencias en modo activo, en las que es el servidor el que abre una conexión hacia tu PC. Los routers y cortafuegos modernos lo bloquean, y por eso las sesiones inician sesión sin problema y luego se quedan colgadas para siempre en un dir o get. No hay ningún parámetro que lo arregle: el modo pasivo sencillamente no está implementado.
  • Sin cifrado de ningún tipo. No admite ni SFTP ni FTPS. Las credenciales y el contenido de los archivos viajan en texto claro.
  • Sin reanudación y sin recursividad. Una descarga de 2 GB interrumpida empieza otra vez desde cero, y no hay forma de transferir un árbol de carpetas con un solo comando.

Para SFTP, Windows 10 y 11 incluyen el comando sftp de OpenSSH, que es la opción moderna apta para scripts: su conjunto de comandos es parecido pero no idéntico, y la Referencia de comandos SFTP lo documenta al completo.

Cuando una interfaz gráfica es sencillamente más rápida

El FTP de línea de comandos se gana su sitio para los rescates rápidos puntuales y los scripts sencillos. En el momento en que estás haciendo malabares con directorios en los dos lados, reintentando transferencias fallidas o moviendo árboles de carpetas enteros, un cliente gráfico gana en tiempo. FTPie es un cliente FTP gratuito para Windows con modo pasivo funcionando, además de SFTP, FTPS, WebDAV y más de 10 servicios en la nube en una sola ventana: arrastrar y soltar sustituye a mput, las transferencias se reanudan solas, y el plan gratuito cubre hasta 3 conexiones a servidores.

Y si te ha gustado la parte de los scripts, FTPie Pro incluye una CLI de verdad con soporte de SFTP, FTPS y la nube y un constructor visual de comandos, además de las Transferencias programadas, que sustituyen por completo el baile del script más el Programador de tareas, sin contraseñas en archivos de texto.

El Constructor de comandos de la CLI de FTPie montando un comando de transferencia, con un desplegable de verbos, campos de argumentos y vista previa en vivo

Ten a mano la Referencia de comandos FTP para la lista completa: los comandos del cliente y los comandos en bruto del protocolo a los que corresponden.

Empieza tu prueba gratuita de 14 días

Descarga FTPie y empieza tu prueba gratuita de 14 días. Disfruta de la integración fluida entre FTP y la nube, y sigue usando la versión gratuita después.

Descargar la prueba gratuita
Verificado por CASA y analizado con VirusTotal
prueba de 14 días · Versión gratuita incluida
Windows 10 & 11
Vlad Fedoniuk

Vlad Fedoniuk

Soy el fundador y desarrollador de FTPie, dedicado a crear soluciones de software innovadoras que simplifiquen y mejoren tu vida digital. Visita mi web personal en fedoni.uk , o sígueme en X (formerly Twitter) , LinkedIn , o por correo en vlad@ftpie.com