【问题标题】:FTP command-line scripting in bat file doesn't work in Windows 8.1bat 文件中的 FTP 命令行脚本在 Windows 8.1 中不起作用
【发布时间】:2015-06-22 12:58:03
【问题描述】:

以下脚本可在 Windows 7 中完美运行,以编写 FTP 下载脚本:

echo user MyUSN> ftpcmd.dat
echo MyPWD>> ftpcmd.dat
echo bin>> ftpcmd.dat
echo cd FTP-Incoming/DB_Backups>> ftpcmd.dat
::echo get %1>> ftpcmd.dat
echo get %1 C:\Database\Backups\%1>> ftpcmd.dat
echo quit>> ftpcmd.dat
ftp -n -s:ftpcmd.dat www.fit-track.net
del ftpcmd.dat

但在 Windows 8.1 中它失败了:

C:\windows\system32>ftp -n -s:ftpcmd.dat www.myserver.com
Connected to myserver.com.
220 Microsoft FTP Service
ftp> user MyUSN
331 Password required for MyUSN.

230 User logged in.
ftp> bin
200 Type set to I.
ftp> cd FTP-Incoming/DB_Backups
250 CWD command successful.
ftp> get  C:\Database\Backups\
200 PORT command successful.
550 The parameter is incorrect.
ftp> quit
221 Goodbye.

这是许多网站上显示的well-documented approach

为什么这在 Windows 8.1 中会失败,我该如何让它工作?

【问题讨论】:

  • 这是 PEBKAC,应该删除。它没有增加任何价值。

标签: batch-file command-line ftp windows-8.1 command-prompt


【解决方案1】:

您在调用批处理文件时显然没有提供参数。

%1 解析为空字符串。

最终不是正确的

get file.txt C:\Database\Backups\file.txt

你打电话

get  C:\Database\Backups\

这是错误的语法,因为本地路径用于远程路径。

服务器正确地拒绝了该命令。

【讨论】:

    猜你喜欢
    • 2012-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-30
    • 2015-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多