菜鸟科技网

dos命令ftp下载如何操作?

基础概念

在开始之前,你需要了解几个基本要素:

dos命令ftp下载如何操作?-图1
(图片来源网络,侵删)
  1. FTP 服务器地址ftp.example.com 或一个 IP 地址 168.1.100
  2. 用户名和密码:用于登录 FTP 服务器的凭据,有些服务器允许匿名登录(用户名 anonymous,密码通常为你的邮箱地址或留空)。
  3. 远程文件路径:你想下载的文件在服务器上的位置,/pub/files/document.zip
  4. 本地路径:你希望将文件保存到本地电脑的哪个位置,C:\Downloads

交互式 FTP 下载(最常用)

这是最直接的方法,你通过输入命令一步步与 FTP 服务器交互。

步骤 1:打开命令提示符

按下 Win + R 键,输入 cmd,然后按回车。

步骤 2:连接到 FTP 服务器

在命令行中输入 ftp 命令,后跟服务器地址。

ftp ftp.example.com

如果服务器使用特定端口(非默认的 21),可以这样指定:

dos命令ftp下载如何操作?-图2
(图片来源网络,侵删)
ftp ftp.example.com 2121

步骤 3:登录

根据提示输入你的用户名和密码。

User (ftp.example.com:(none)): your_username
331 Password required for your_username.
Password: *******

注意:输入密码时,为了安全,屏幕上不会显示任何字符(星号 或空白),这是正常的。

如果登录成功,你会看到类似 230 User logged in. 的欢迎信息。

步骤 4:基本操作(可选但推荐)

在下载文件前,你可能需要一些基本命令来导航服务器。

dos命令ftp下载如何操作?-图3
(图片来源网络,侵删)
  • dirls:列出当前目录下的文件和文件夹。
  • cd [目录名]:进入指定的子目录。cd pub
  • pwd:显示当前所在的远程目录路径。
  • lcd [本地路径]非常重要! 设置你希望下载文件保存到的本地路径。lcd C:\Downloads,如果不设置,文件通常会下载到当前用户的主目录(如 C:\Users\YourUser)。

步骤 5:下载文件

使用 get 命令下载单个文件。

get remote_filename.txt
get important_data.zip

执行后,FTP 会显示下载进度,完成后会提示 226 Transfer complete.

步骤 6:下载整个目录(递归)

FTP 的 get 命令本身不支持递归下载目录,要下载一个目录及其所有子目录和文件,你需要使用 mget 命令配合 prompt 命令。

  1. 关闭交互提示mget 在下载多个文件时,默认会每个文件都询问你是否要下载,先关闭这个提示。

    prompt

    (输入后应该会显示 Interactive mode OFF.

  2. 使用通配符mget 支持通配符 。

    mget *

    这会下载当前远程目录下的所有文件。

  3. 递归下载目录:标准的 ftp.exe 不支持递归,你需要借助 xcopyrobocopy 等 Windows 命令,一个常见的技巧是先在本地创建目录结构,然后逐个下载。

    一个更简单的方法是使用第三方工具,如 WinSCP 或 FileZilla,它们对目录下载的支持非常好,但如果必须用命令行,可以这样做:

    # 1. 在本地创建与远程目录同名的文件夹
    mkdir local_folder_name
    # 2. 进入这个本地文件夹
    cd local_folder_name
    # 3. 回到FTP,进入远程对应的目录
    # (假设你已经知道远程目录名,/remote/folder)
    cd remote/folder
    # 4. 使用 mget 下载所有文件到当前本地目录
    mget *

    这个方法需要你手动一层一层地操作,比较繁琐。

步骤 7:断开连接并退出

完成所有操作后,输入 byequit 退出 FTP 会话。

bye

完整示例

假设我们要从 ftpfiles.example.com 下载 reports 目录下的 Q4_Report.xlsx 文件,并保存到 D:\MyFTPDownloads

C:\Users\YourName> ftp ftpfiles.example.com
Connected to ftpfiles.example.com.
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 14:30. Server port 21.
220-This is a private system - No anonymous login
220 You will be disconnected after 15 minutes of inactivity.
User (ftpfiles.example.com:(none)): myuser
331 Password required for myuser.
Password: ********
230-User myuser has group access to: mygroup
230-User myuser has no special access restrictions
230 Login successful.
Remote system type is UNIX.
ftp> dir
200-Here comes directory listing
. -rw-r--r--    1 myuser   mygroup      1234 Jan 15 10:00 file1.txt
. -rw-r--r--    1 myuser   mygroup      5678 Jan 15 10:01 file2.log
d rwxr-xr-x    1 myuser   mygroup         0 Jan 14 09:00 reports
200 Port OK, 200 Data Connection
226 Directory send ok.
ftp> cd reports
250 Directory successfully changed.
ftp> pwd
257 "/" is the current directory
ftp> lcd D:\MyFTPDownloads
Local directory now D:\MyFTPDownloads
ftp> get Q4_Report.xlsx
local: Q4_Report.xlsx remote: Q4_Report.xlsx
200 Port OK, 200 Data Connection
150 Opening BINARY mode data connection for Q4_Report.xlsx (12345 bytes)
226 Transfer complete.
12345 bytes received in 0.05 seconds (245.1 Kbytes/s)
ftp> bye
221 Goodbye!
C:\Users\YourName>

自动化 FTP 下载(批处理脚本)

如果你需要定期执行下载任务,手动输入命令会很麻烦,这时可以创建一个批处理文件(.bat)来自动化整个过程。

核心技巧:使用 ftp -s:脚本文件名.txt 命令,它会自动执行 脚本文件名.txt 中的所有命令。

步骤 1:创建 FTP 命令脚本文件

用记事本创建一个文件,download_commands.txt如下:

open ftp.example.com
your_username
your_password
lcd C:\Downloads
get remote_file.zip
bye

重要提示

  • 不要保存为 .bat,保存为 .txt 文件,否则会形成循环调用。
  • 密码明文存储:这种方式会将密码以明文形式保存在脚本文件中,存在安全风险,请确保该文件的访问权限受到严格控制。
  • lcdget 等命令的执行顺序很重要。

步骤 2:创建批处理文件

再用记事本创建一个 .bat 文件,run_ftp_download.bat如下:

@echo off
echo Starting FTP download...
ftp -s:download_commands.txt
echo FTP download finished.
pause

步骤 3:运行批处理文件

双击 run_ftp_download.bat 文件,它就会自动连接服务器、登录、下载文件并退出,全程无需人工干预。


现代 FTP 的替代方案:psftp (PuTTY)

Windows 自带的 ftp.exe 功能较为基础,如果你需要更强大的功能(如 SFTP 协议,更安全),可以使用 PuTTY 套件中的 psftp.exe

SFTP (SSH File Transfer Protocol) 运行在 SSH 协议之上,比传统的 FTP 更安全(数据加密)。

  1. 下载 PuTTY:从 官方网站 下载并安装。
  2. 使用 psftp
    psftp your_username@ftp.example.com
  3. 登录后,命令与 Linux/Unix 的 sftp 类似:
    • ls:列出文件。
    • cd:切换远程目录。
    • lcd:切换本地目录。
    • get file.txt:下载文件。
    • put local_file.txt:上传文件。
    • bye:退出。

psftp 对目录递归下载的支持同样有限,但它是进行安全文件传输的更好选择。


方法 优点 缺点 适用场景
交互式 ftp 直观,无需准备脚本 手动操作,重复劳动 一次性、少量的文件下载
批处理脚本 自动化,可重复执行 密码明文,脚本编写略复杂 定时任务、自动化流程
psftp (PuTTY) 安全(SFTP协议),功能更强 需要额外安装PuTTY 需要安全传输或类Unix命令体验的用户

对于大多数 Windows 交互式 ftp 适合临时任务,而 批处理脚本 是实现自动化的标准方法,如果安全性是首要考虑,强烈建议使用 psftp 或图形化工具如 WinSCP

分享:
扫描分享到社交APP
上一篇
下一篇