【问题标题】:FTP 'rename' command to move remote files matching wildcardFTP“重命名”命令移动与通配符匹配的远程文件
【发布时间】:2015-07-02 09:32:04
【问题描述】:

我正在编写一个*.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 文件。在命令窗口中,我收到一条错误消息:

找不到目录。

我找不到比 doc 更好的额外信息了。

知道如何移动文件吗?

【问题讨论】:

    标签: windows batch-file ftp


    【解决方案1】:

    Windows ftp.exerename command 不支持通配符。

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


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

    例如使用WinSCP scripting,批处理文件将是:

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

    详情见:

    (我是 WinSCP 的作者)

    【讨论】:

    • 谢谢!我将尝试这两种选择,看看它对我有用。 'rename' 命令可以在没有通配符的情况下工作吗?例如,将 'files' 目录中的所有文件移动到 'archive' 目录中?
    • 'rename' 命令可以在没有通配符的情况下工作吗? 不,这也是(某种)通配符。它只能与特定文件一起使用。
    猜你喜欢
    • 1970-01-01
    • 2014-08-05
    • 1970-01-01
    • 2015-02-18
    • 1970-01-01
    • 2013-06-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-19
    相关资源
    最近更新 更多