我无法通过批处理脚本将多个文件上传到FTP

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我无法通过批处理脚本将多个文件上传到FTP相关的知识,希望对你有一定的参考价值。

我无法通过我制作的批处理文件将多个文件上传到某个FTP。

另外,我想从此本地目录上传所有文件。

代码:

ftp -s:"C:\automation\fileup.bat" MYSERVER.COM
USERNAME
PASSWORD
ascii
cd "/public_html/reports/"
lcd "C:\automation\tests\HtmlReporter"
mput *
close
quit

错误:

C:\automation>ftp -s:"C:\automation\fileup.bat" MYSERVER.COM
Connected to server26.000webhost.com.
220---------- Welcome to Pure-FTPd [privsep] ----------
220-You are user number 12 of 500 allowed.
220-Local time is now 07:03. Server port: 21.
220-This is a private system - No anonymous login
220 You will be disconnected after 3 minutes of inactivity.
User (MYSERVER.COM:(none)):
331 User USERNAME OK. Password required

230-OK. Current restricted directory is /
230-109 files used (1%) - authorized: 10000 files
230 14084 Kbytes used (0%) - authorized: 1536000 Kb
ftp> ascii
200 TYPE is now ASCII
ftp> cd "/public_html/reports/"
250 OK. Current directory is /public_html/reports
ftp> lcd "C:\automation\tests\HtmlReporter"
Local directory now C:\automation\tests\HtmlReporter.
ftp> mput *
mput 000500de-0092-0095-00d9-00a100f000f7.json? close
mput 00090020-0041-007c-00db-00b9003c0085.json? quit
ftp>

我试图上传的文件:

答案

使用prompt command关闭传输确认提示:

打开和关闭提示模式。

没有它,tje ftp使用脚本中的以下命令(在你的情况下为closequit)作为答案。由于他们不是y,转移被跳过。


另一个具有相同效果的选项是在-i上使用ftp command-line开关:

-i:在多个文件传输期间禁用交互式提示。

另一答案

这应该这样做:

ftp -i -s:"C:\automation\fileup.bat" MYSERVER.COM

在你的脚本中,结束它:

mput *  
bye
另一答案

FTP命令允许发送多个文件,但如果我们想要自动创建和转移目录和子目录,那么我们可以使用ncftp。步骤如下:

  • 如果您使用Windows PC通过FTP将文件传输到Linux Server,请下载NcFTP Client 3.2.6 for Microsoft Windows
  • 因为,您尝试通过批处理文件发送,我们可以使用ncftpput命令,这是脚本的Internet文件传输程序
  • 创建批处理文件(例如,ncftpupload.bat)并提供为:

句法:

ncftpput -u username -p password -m -R SERVER_IP_ADDRESS /remote_directory local_directory\*

例:

ncftpput -u ftpuser1 -p ftppass1 -m -R 192.168.1.10 /var/www C:\public_html\*

使用的开关是:

-u: FTP username
-p: FTP password
-m: Attempt to make the remote destination directory before copying.
-R: Recursive mode; copy whole directory trees

以上是关于我无法通过批处理脚本将多个文件上传到FTP的主要内容,如果未能解决你的问题,请参考以下文章

使用 bash 脚本批量重命名 FTP 服务器上的文件

通过 PHP FTP 上传整个目录

Python脚本通过FTP上传文件

在 bash 脚本中进行 FTP 上传

LINUX:如何检测 ftp 文件上传完成

批量文件将目录中的所有文件上传到FTP