如何从命令行通过 FTP 传输多个文件?

如何从命令行通过 FTP 传输多个文件?

我想通过 FTP 传输目录内容,但似乎找不到使用通配符的正确方法。这似乎是一件很常见的事;我的整个方法都是错的吗?

命令是

ftp -s:"C:\Scripts\ftp01" ftpserver.domain.com

调用的脚本如下。由 billinkc 更新。

username
password
ascii
cd "/destinationfolder"
lcd "C:\Backup"
mput *.bak
close
quit

脚本启动,没有复制任何文件并且 FTP 会话保持打开。

230 User username Logged in Successfully
ftp> ascii
200 TYPE Command OK A
ftp> cd "/destinationfolder"
250 Directory successfully changed to "/destinationfolder"
ftp> lcd "C:\Backup"
Local directory now C:\Backup.
ftp> mput *.bak
mput 9829980.bak? close
mput 6406766.bak? quit
ftp>
ftp>

结论

我需要添加标志来抑制 PROMPT 命令:

ftp -i -s:"C:\Scripts\ftp01" ftpserver.domain.com

答案1

在发出mput命令之前,发出prompt命令禁用交互模式。关闭后,它不会要求您确认每个文件mput(或mget)。

答案2

尝试在该行prompt n之前插入该行mput

答案3

我从未尝试过使用本地文件夹的路径名,但我通过更改本地目录(lcd)做到了这一点:

username
password
ascii
cd "/destinationfolder"
lcd Backup
mput *.bak
close
quit

答案4

如果你有管理员权限,你可以安装ncfpput命令。它易于使用,非常适合递归 FTP 上传。递归传输的开关是-R

该软件包含在大多数 Linux 发行版中。对于 Windows,可以使用以下方式安装赛格威

相关内容