You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Plink/PSCP通过FTP下载文件失败,求解决方案

首先得明确一点:Plink和PSCP是PuTTY家族的SSH/SFTP/SCP工具,它们只基于SSH协议工作,完全不支持传统的FTP(端口21那种)。这就是你连Server#2(仅FTP)失败的根本原因——工具本身就没做FTP的支持,和命令参数无关。

接下来给你几个在Windows批处理里通过FTP下载文件的可行方案:


方案1:用Windows自带的ftp命令行工具

Windows系统自带了原生的FTP客户端,适合简单的FTP下载场景。操作步骤如下:

  1. 新建一个文本文件,比如命名为ftp_script.txt,写入以下命令(根据你的实际路径修改):
    open 10.238.xxx.xxx 21
    uname
    pass123
    # 如果服务器需要被动模式(大部分现代FTP服务器都要求),加上这行
    passive
    get /remote/server/file/path/yourfile.txt C:\local\save\path\yourfile.txt
    bye
    
  2. 在批处理文件里调用这个脚本:
    ftp -s:ftp_script.txt
    

方案2:用WinSCP命令行版本(推荐)

既然你已经用WinSCP验证过Server#2的FTP能正常连接,那用WinSCP的命令行工具WinSCP.com会更灵活稳定,支持更多FTP特性(比如被动模式、UTF-8编码、断点续传等)。

直接在批处理里写一行命令即可:

winscp.com /command "open ftp://uname:pass123@10.238.xxx.xxx:21/" "get /remote/path/yourfile.txt C:\local\path\yourfile.txt" "exit"

如果你的密码里有特殊字符(比如@、/),可以换一种写法避免冲突:

winscp.com /command "open ftp://uname@10.238.xxx.xxx:21/ -password=pass123" "get /remote/path/yourfile.txt C:\local\path\yourfile.txt" "exit"

PuTTY家族的工具(Plink、PSCP、PuTTY本身)都是为SSH协议设计的,它们只能和支持SSH/SFTP/SCP的服务器通信。传统FTP是完全独立的协议,和SSH没有任何兼容的可能,所以你再怎么调整Plink的参数也没用,必须换工具。

内容的提问来源于stack exchange,提问作者user123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 00:33:14