FTP“重命名”命令移动匹配通配符的远程文件

我正在写一个*.bat文件(Windows),我使用FTP命令来获取本地机器上的远程文件。 远程目录包含一个archive子目录,我想在这个目录下载本地机器时移动这些文件。

我的脚本在*.bat文件中:

 ftp -v -i -s:GET_FILES_FTP.txt 

我在GET_FILES_FTP.txt脚本:

 open example.com username password lcd S:\ lcd repository/files mget *.txt rename *.txt archive/ disconnect bye 

请注意,主机名,用户名和密码不是我真正使用的!

TXT文件在本地机器上正确下载。

问题是rename *.txt archive/不解释,文件不会移动到archive文件。 我在命令窗口中,我得到一个directory not found错误信息。 我找不到比这个文件更好的信息。

任何想法如何移动文件?

Solutions Collecting From Web of "FTP“重命名”命令移动匹配通配符的远程文件"

Windows ftp.exerename命令不支持通配符。

您必须根据下载的文件列表动态生成脚本文件,并为每个文件使用单独的rename命令。


或者在重命名/移动时使用支持通配符的另一个命令行FTP客户端。

例如,使用WinSCP脚本编写批处理文件将如下所示:

 winscp.com /log=winscp.log /command ^ "open ftp://username:password@example.com" ^ "lcd S:\" ^ "lcd repository\files" ^ "get *.txt" ^ "mv *.txt archive/" ^ "exit" 

详情请参阅:

  • mv命令
  • 将Windows FTP脚本转换为WinSCP FTP脚本

(我是WinSCP的作者)