FTP'rename'命令用于移动与通配符匹配的远程文件

问题描述 投票:0回答:1

我正在编写一个*.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更好的额外信息。

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

windows batch-file ftp
1个回答
0
投票

Windows rename commandftp.exe不支持通配符。

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


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

例如,使用WinSCP scripting,批处理文件将类似于:

winscp.com /log=winscp.log /command ^
    "open ftp://username:[email protected]" ^
    "lcd S:\" ^
    "lcd repository\files" ^
    "get *.txt" ^
    "mv *.txt archive/" ^
    "exit"

详情见:

(我是WinSCP的作者)

© www.soinside.com 2019 - 2024. All rights reserved.