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

时间:2015-07-02 09:32:05

标签: windows batch-file 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错误消息。我找不到比doc更好的额外信息。

关于如何移动文件的任何想法?

1 个答案:

答案 0 :(得分:0)

Windows ftp.exe的{​​{3}}不支持通配符。

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

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

例如,对于rename command,批处理文件将类似于:

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

详见:

(我是WinSCP的作者)