批处理文件ftp身份验证问题

时间:2013-12-11 09:24:12

标签: batch-file ftp

我正在尝试使用批处理文件下载某些文件,但是在读取用户名行后会抛出错误“无效命令”。

在我的批处理文件中,我按如下方式调用我的ftp文件:

ftp -n -s:ftp_download.txt

我的ftp_download.txt看起来像这样:

open myname.com
test@myname.com
test
lcd C:\myDownloads
cd download_files
get MY_NEW_FILES_*.xml
bye

但是在test@myname.com行之后会抛出错误'无效命令',因此脚本无法连接到我的ftp服务器。

进行身份验证时如下:

open myname.com
user test@myname.com test

我收到'未连接'错误

然而,使用此用户名(test@myname.com)和密码(测试),我仍然可以使用Filezilla进行连接。

我在某个地方错过了一个命令吗?

2 个答案:

答案 0 :(得分:1)

对于像CharlesKSQL这样的人,可能会偶然发现我的问题。 以下是我如何使用它(事实证明我出于某种原因必须使用sftp,因此请确保它已在您的服务器上启用);

脚本(ftp_download.txt)包含以下内容:

option batch abort
option confirm off
open sftp://<username>:<password>@<host> -hostkey="<fingerprint/key>"
option transfer binary
cd <your folder>
get <some file>

如果您不知道指纹和/或钥匙;你可以在连接槽sftp时在FileZilla中找到它们。它们显示在首次连接到服务器时显示的弹出窗口中,或者当您已连接时,可以单击右下角状态栏中的小锁定图标。

The Lock-icon in FileZilla

现在实际连接你需要一些软件(当使用Windows时)来创建安全连接。我用的是WinSCP。 您可以下载可移植可执行文件here并将它们(以便于使用)放在与批处理文件相同的文件夹中。 然后,您可以通过添加参数来调用批处理文件中的可执行文件:

winscp.exe /script=ftp_download.txt

然后应执行下载脚本。

P.S。:自从我完成这件事已经有一段时间了,据我所知,它仍在运作。

答案 1 :(得分:0)

您的文字文件应如下所示:

open myname.com
user
<enter username here> <password here>
lcd C:\myDownloads
cd download_files
get MY_NEW_FILES_*.xml
bye

试试看,看看是否有帮助 enter image description here