【问题标题】:Where is error in ftp-bat script?ftp-bat 脚本中的错误在哪里?
【发布时间】:2011-08-19 06:58:11
【问题描述】:

我编写自动 ftp 脚本。

并抛出错误:

The syntax of the command is incorrect.

User (domain.lt:(none)):

Error reading password.

Login incorrect.
Login failed.

代码:

@ECHO OFF
mkdir C:/dtmp
ECHO USER username > script.ftp
ECHO PASSWORD password > script.ftp
ECHO cd Directories-files > script.ftp
ECHO lcd C:/dtmp > script.ftp
ECHO binary > script.ftp
ECHO prompt n > script.ftp
ECHO get main.py > script.ftp
:: Use the temporary script for unattended FTP
:: Note: depending on your OS version you may have to add a '-n' switch
FTP -v -s:script.ftp domain.lt
:: For the paranoid: overwrite the temporary file before deleting it
TYPE NUL >script.ftp
DEL script.ftp
GOTO End
:End

【问题讨论】:

    标签: ftp batch-file


    【解决方案1】:

    我可以看到你有一些直接的问题。

    第一个是在您的 mkdir 命令中使用了错误的斜杠(这是导致您的特定错误的原因)。应该是:

    mkdir c:\dtmp
    

    第二个问题是您应该将这些命令中的大部分附加到 FTP 脚本中:

    ECHO USER username         > script.ftp
    ECHO PASSWORD password    >> script.ftp
    ECHO cd Directories-files >> script.ftp
    ECHO lcd C:/dtmp          >> script.ftp
    ECHO binary               >> script.ftp
    ECHO prompt n             >> script.ftp
    ECHO get main.py          >> script.ftp
    

    按照您的方式,每个回显都会替换文件,因此脚本最终将由单行 get main.py 组成,因为您还没有登录,所以这行不通。

    第三,由于您是在 脚本中登录的,因此您还应该禁用自动登录,方法是使用 ftp 的 -n 选项(尽管我看到在仔细看看):

    ftp -n -v -s:script.ftp domain.lt
    

    另一件需要注意的事情是,一些 FTP 客户端没有 PASSWORD 命令,它们在 USER 行提供它。所以尝试改变:

    ECHO USER username         > script.ftp
    ECHO PASSWORD password    >> script.ftp
    

    到:

    ECHO USER username password > script.ftp
    

    (当然还要确保您的用户名和密码正确)。

    如果失败, 只需在没有-s 的情况下启动一个 FTP 会话,然后通过单独输入每个 FTP 命令来查看发生了什么问题:

    C:\Pax> ftp -n wopr.dod.gov
    Connected to wopr.dod.gov.
    220-FTPD DOD FTP at WOPR.DOD.GOV, 07:28:59 on 2011-08-19.
    220 SHALL WE PLAY A GAME?
    ftp> user sfalken joshua
    331 Send password please.
    530 PASS command failed
    Login failed.
    ftp> bye
    221 Quit command received. Goodbye.
    

    【讨论】:

    • 现在抛出 - “请使用 USER 和 PASS 登录”
    【解决方案2】:

    试试下面的

    ftp -n wopr.dod.gov
    用户 sfalken
    通过约书亚
    再见

    【讨论】:

      【解决方案3】:

      在创建 FTP 脚本文件时注意用户/密码的尾随空格,例如

      ECHO USER 用户名> script.ftp

      应该是: ECHO USER 用户名> script.ftp

      【讨论】:

        猜你喜欢
        • 2013-07-18
        • 1970-01-01
        • 1970-01-01
        • 2019-07-16
        • 2022-01-24
        • 1970-01-01
        • 2011-09-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多