Windows FTP命令参数有哪些常用选项?

99ANYc3cd6
预计阅读时长 14 分钟
位置: 首页 参数 正文

FTP 命令的基本用法

FTP 命令通常分为两类:

  1. 交互式命令:直接在 FTP 提示符下输入并执行。
  2. 命令行参数:在启动 ftp.exe 时直接指定,用于自动化脚本。

基本启动方式

最简单的方式是直接在命令提示符(CMD)或 PowerShell 中输入 ftp,然后按回车,这将进入 FTP 交互模式,显示 ftp> 提示符。

ftp

带参数启动(自动化脚本)

可以在命令行中直接指定主机名或 IP 地址,甚至可以组合用户名和密码,实现一键连接。

ftp -s:脚本文件.txt 主机名

命令行参数

这些参数用于在启动 ftp 程序时指定其行为。

参数 描述 示例
-a 在绑定数据连接时使用任何本地接口,默认情况下,数据连接仅使用客户端的主接口,这对于拥有多个网络适配器的计算机很有用。 ftp -a ftp.example.com
-A 匿名登录,相当于在交互模式下输入 anonymous 作为用户名。 ftp -A ftp.example.com
-d 启用调试模式,显示客户端和服务器之间发送的所有 FTP 命令,对于排查连接问题非常有用。 ftp -d ftp.example.com
-g 禁用文件名中的通配符 ( 和 ),这是默认行为,但有时为了兼容性会明确指定。 ftp -g ftp.example.com
-i 在多个文件传输过程中关闭交互式提示,使用 mgetmput 时,不会对每个文件都询问“是否下载?”,非常适合自动化脚本。 ftp -i -s:upload.txt ftp.example.com
-n 在建立初始连接后,不自动尝试登录,这非常有用,因为它允许你先执行 open 命令连接到特定主机,然后再手动输入用户名和密码,避免信息泄露在脚本中。 ftp -n -s:script.txt
-s:filename 指定一个包含 FTP 命令的文本文件。ftp 程序会按顺序执行该文件中的所有命令,非常适合实现自动化任务。这是自动化脚本最核心的参数。 ftp -s:commands.txt myserver
-v 显示远程服务器的所有响应信息,并显示关于数据传输的统计信息,比 -d 更详细,但不会显示底层的 FTP 命令。-v 代表 verbose(详细)。 ftp -v ftp.example.com

交互式命令列表

连接到服务器后,在 ftp> 提示符下可以输入以下命令。

连接与登录命令

命令 描述 示例
open <主机名/IP> [<端口>] 连接到指定的 FTP 服务器,如果未指定端口,则使用默认端口 21。 open ftp.example.com
close 关闭与当前服务器的连接,但仍留在 FTP 程序中。 close
disconnect close disconnect
byequit 退出 FTP 程序。 bye
user <用户名> [<密码>] 以指定的用户名登录,如果省略密码,会提示输入。 user myuser mypassword
help [<命令>] 显示命令的帮助信息,如果指定命令,则显示该命令的详细帮助。 help get
切换到本地命令行,输入 exit 返回 FTP 会话。 ! dir (查看本地目录)

目录与文件浏览命令

命令 描述 示例
ls [<远程目录>] 列出远程服务器上当前或指定目录的文件和子目录列表,不显示详细信息。 ls /public
dir [<远程目录>] 列出远程服务器上当前或指定目录的详细文件和子目录列表(类似 Windows 的 dir)。 dir
cd <远程目录> 更改远程服务器上的当前目录。 cd /incoming
pwd 打印当前远程工作目录的完整路径。 pwd
mkdir <远程目录名> 在远程服务器上创建一个新目录。 mkdir new_folder
执行本地命令。 ! dir (查看本地电脑的目录)

文件传输命令

命令 描述 示例
get <远程文件> [<本地文件>] 从远程服务器下载一个文件到本地计算机。 get myfile.txt
recv <远程文件> [<本地文件>] get recv archive.zip
put <本地文件> [<远程文件>] 从本地计算机上传一个文件到远程服务器。 put report.docx
send <本地文件> [<远程文件>] put send photo.jpg
mget <远程文件列表> 从远程服务器下载多个文件,可以使用通配符 和 。 mget *.txt
mput <本地文件列表> 从本地计算机上传多个文件,可以使用通配符 和 。 mput *.csv
ascii 设置文件传输类型为 ASCII(文本),适用于 .txt, .html, .css 等文件。 ascii
binary 设置文件传输类型为二进制(Binary)。这是最安全、最常用的模式,适用于所有非文本文件,如 .exe, .zip, .jpg, .pdf 等。 binary
prompt 切换交互式提示,在 mgetmput 时,是否对每个文件进行确认。prompt off 关闭提示,prompt on 开启提示。 prompt off

其他实用命令

命令 描述 示例
delete <远程文件> 删除远程服务器上的一个文件。 delete old_file.log
rmdir <远程目录> 删除远程服务器上的一个空目录。 rmdir temp_folder
lcd <本地目录> 更改本地计算机上的当前工作目录。 lcd C:\downloads
status 显示当前 FTP 的一些状态设置,如传输模式、是否开启提示等。 status
hash 在传输每个数据块(通常是 1024 字节)后显示一个 符号,可以直观地看到传输进度。 hash

综合示例

示例 1:手动下载文件

  1. 打开 CMD。
  2. 输入 ftp ftp.example.com 并回车。
  3. 如果提示输入用户名和密码,输入你的凭据。
  4. 输入 binary 确保是二进制模式。
  5. 输入 ls 查看服务器文件列表。
  6. 输入 get important_file.zip 开始下载。
  7. 下载完成后,输入 bye 退出。

示例 2:使用脚本自动化上传(推荐方式)

创建一个名为 upload.txt 的文本文件,内容如下:

# 脚本开始,-n 参数阻止自动登录
open ftp.example.com
# 输入用户名
myusername
# 输入密码
mypassword
# 切换到二进制模式
binary
# 切换到远程服务器的目标目录
cd /uploads
# 切换到本地要上传的文件所在目录
lcd C:\local_files
# 上传所有 .log 文件,并且不提示每个文件
prompt off
mput *.log
# 关闭连接
close
# 退出 FTP
bye

然后在命令提示符中执行以下命令:

ftp -n -s:upload.txt

这个命令会自动读取 upload.txt 文件中的指令,完成整个上传过程,无需任何人工干预。


重要注意事项

  1. 安全性:传统的 FTP 协议在传输用户名和密码时是明文的,非常不安全,攻击者可以轻易窃取你的凭据。强烈建议使用更安全的协议,如 SFTP (通过 SSH) 或 FTPS (FTP over SSL/TLS)
  2. Windows 版本差异:Windows 10 和 Windows 11 中,ftp 命令的功能与旧版 Windows 基本一致,但更推荐使用 PowerShell 内置的 Copy-Item 命令配合 WinRM/SSH 等现代协议进行文件传输。
  3. 被弃用:微软官方已将 ftp.exe 标记为“即将弃用”(deprecated),对于新的项目,请优先考虑使用更现代的工具。
-- 展开阅读全文 --
头像
RX 580参数有哪些?性能与功耗如何?
« 上一篇 今天
ThinkPad E460拆机步骤有哪些?
下一篇 » 46分钟前

相关文章

取消
微信二维码
支付宝二维码

最近发表

标签列表

目录[+]