我知道有一个 FTP 命令可以在 Windows 上从命令行运行,它会从 FTP 站点下载文件。用户 + 密码在“那个”单行 cmd 中指定。这些选项 + 密码密码应该在该命令行上。
echo open 192.168.1.64 21> ftp.txt
echo anonymous>> ftp.txt
echo [email protected]>> ftp.txt
echo bin >> ftp.txt
echo get test.txt >> ftp.txt
echo bye >> ftp.txt
ftp -s:ftp.txt
答案1
尝试这个:批处理文件 - 无人值守 FTP 下载
WGET ftp://ftp.mydomain.com/path/file.ext
用于匿名下载
或者:
WGET ftp://user:[email protected]/path/file.ext
当需要身份验证时。
正如@XavierStuvw 通过编辑和评论指出的那样,在 Linux 中切换WGET
到小写wget
是可行的。
wget ftp://user:[email protected]/path/file.ext
答案2
我找到了方法:
echo open 192.168.0.1 >> ftp &echo user admin w00t >> ftp &echo binary >> ftp &echo get file.zip >> ftp &echo bye >> ftp &ftp -n -v -s:ftp &del ftp
答案3
请注意,您可以使用 /? 开关询问 DOS 中命令的语法。例如:
C:\>ftp /? 与运行 FTP 服务器服务的计算机之间传输文件 (有时称为守护进程)。Ftp 可以交互使用。 FTP [-v] [-d] [-i] [-n] [-g] [-s:文件名] [-a] [-A] [-x:发送缓冲区] [-r:接收缓冲区 fer] [-b:异步缓冲区] [-w:窗口大小] [主机] -v 抑制显示远程服务器响应。 -n 在初始连接时抑制自动登录。 -i 关闭多文件期间的交互式提示 轉移。 -d 启用调试。 -g 禁用文件名通配(参见 GLOB 命令)。 -s:filename 指定包含 FTP 命令的文本文件; FTP 启动后命令将自动运行。 -a 绑定数据连接时使用任意本地接口。 -A 以匿名身份登录。 -x:send sockbuf 覆盖默认的 SO_SNDBUF 大小 8192。 -r:recv sockbuf 覆盖默认的 SO_RCVBUF 大小 8192。 -b:异步计数覆盖默认的异步计数 3 -w:windowsize 覆盖默认的传输缓冲区大小 65535。 host 指定远程主机名或 IP 地址 要连接的主机。 笔记: - mget 和 mput 命令采用 y/n/q 表示是/否/退出。 - 使用 Control-C 中止命令。
就您而言,您需要使用 -s 开关向其提供脚本,包括登录响应。
例如:
创建一个脚本文件(c:\scriptfile.txt),其内容如下:
open servername_or_ip username password get /fullpath/thefile.txt c:\fullpath\thefile.txt quit
使用 -s 开关执行 ftp 并指定脚本文件名
C:\>ftp -s:c:\scriptfile.txt
答案4
尝试一下curl
,它功能强大并且开箱即用(win10)。
curl --user ftpusername:ftpuserpass -o outputdirname\test.txt ftp://host/test.txt