从 FTP 服务器下载不存在的文件

Downloading non-existing files from a FTP server

我只想下载之前未从 FTP 服务器下载的文件。我目前正在使用 WinSCP。我不想去控制台写代码,因为我想在未来自动化这个过程。我当前的代码如下:

"C:\Program Files (x86)\WinSCP\WinSCP.com"/command ^
     "open ftp://rnan:J13@Files8.cyberlynk.net/kgptel/" ^

     "lcd \D C:\Users\rnan\Desktop\Batch Files" ^
     "get -latest *" ^
     "exit"

此代码只是在控制台中打开一个会话。

请提出更改,使文件自动传输,而无需我去控制台和手动输入代码。

谢谢。

主要问题是空行。您必须删除它,因为它会终止 WinSCP 参数列表(或者,如果您想要新行以提高可读性,则必须使用 ^ 转义新行)。

不过你还有其他问题:

  • WinSCP lcd command 只接受一个参数。如果您想做什么,Windows cd /D 做什么,就不需要任何开关。 WinSCP lcd 自行切换驱动器。
  • 您必须 quote the argumentlcd,因为它包含 space 个。
  • /command 之前应该有 space(虽然没有 space 也可以)
"C:\Program Files (x86)\WinSCP\WinSCP.com" /command ^
    "open ftp://rnan:J13@Files8.cyberlynk.net/kgptel/" ^
    "lcd ""C:\Users\rnan\Desktop\Batch Files""" ^
    "get -latest *" ^
    "exit"

另见 Why are some WinSCP scripting commands specified in a batch file not executed/failing?


正如我已经建议过的那样,WinSCP GUI 可以 generate a batch file template for you

唯一缺少的是 -latest 开关。