【问题标题】:move to subfolder of ftp移动到 ftp 的子文件夹
【发布时间】:2015-11-03 08:35:19
【问题描述】:

尝试直接连接到 ftp 的子文件夹失败。

它显示

未知主机ftp://ftp2.xxx.com/test/949010。需要帮助。谢谢

SET "Server=ftp://ftp2.xxx.com/test/949010"
SET "UserName=xxx"
SET "Password=x:nj*~A+"

SET "Commands=%TEMP%SendToFTP_commands.txt"

    ECHO %UserName%> %Commands%
    ECHO %Password%>> %Commands%
    ECHO binary >> %Commands%
    ECHO put "C:\Users\Desktop\Processed\*" >> %Commands%

    REM Close the FTP connection.
    ECHO close  >> %Commands%
    ECHO bye    >> %Commands%   


    REM Perform the FTP.
    FTP -d -i -s:%Commands% %Server%

    ECHO.
    ECHO.
    pause
    REM Clean up.
    IF EXIST %Commands% DEL %Commands%

【问题讨论】:

  • %TEMP% 确实(通常)不包含尾随 \ ,因此您需要将其添加到您的 set 语句中:SET "Commands=%TEMP%\SendToFTP_commands.txt"
  • 无法连接到 ftp ftp2.xxx.com/test/949010
  • 1.将此行放在set Commands=... 行之后时,echo "%Commands%" 返回什么? 2.您的代码是放在括号()之间的块内,还是您发布的全部内容?
  • "C:\Users\xxx\AppData\Local\TempSendToFTP_commands.txt"
  • 我认为该命令工作正常,它与我的主机问题的连接。我试图 ftp 移动到子文件夹

标签: windows batch-file ftp


【解决方案1】:

如果你有很多文件要上传,你应该使用mput *.* (multiple put)

这是您可以使用的list of commands

当然要更改这一行:

SET "Commands=%TEMP%SendToFTP_commands.txt"

到这里:

SET "Commands=%TEMP%\SendToFTP_commands.txt"

【讨论】:

  • 无法连接到 ftp ftp2.xxx.com/test/949010
【解决方案2】:

我在下面包含到子文件夹

ECHO %UserName%> %Commands%
    ECHO %Password%>> %Commands%
    REM FTP subfolder of in/
    ECHO cd in/%%X>> %Commands%
    ECHO binary >> %Commands%

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-14
    • 1970-01-01
    • 2016-10-29
    • 2021-08-02
    • 2014-02-13
    • 2018-03-28
    相关资源
    最近更新 更多