【问题标题】:WinSCP - Download file from SFTP server to network location, then deleteWinSCP - 从 SFTP 服务器下载文件到网络位置,然后删除
【发布时间】:2021-05-28 03:07:57
【问题描述】:

我需要编写一个 WinSCP 脚本或批处理文件来下载远程 SFTP 文件夹的内容,删除内容,然后上传到映射的网络文件夹。我知道如何编写脚本的登录部分。但我对具体的命令行应该是什么样子感到困惑。从我读到的命令脚本下载和删除文件是这样的:

get -delete -transfer=binary *

我没有得到的部分是上传到网络文件夹命令。我了解put 是 WinSCP 上传命令运算符。但是我如何将它与网络文件夹位置文件一起使用应该上传到?另外,这可以在批处理文件中编写脚本,还是需要单独编写批处理文件和脚本?谢谢!

【问题讨论】:

    标签: batch-file winscp network-drive mapped-drive


    【解决方案1】:

    “上传”到映射的网络文件夹不是 WinSCP 的工作。映射的网络文件夹充当本地驱动器。一个普通的 Windows copy 命令就可以了。因此,首先下载 WinSCP,然后将文件复制(实际上并不称为上传)到网络驱动器。

    winscp /ini=nul /command ^
        "open sftp://user:password@example.com/" ^
        "get -delete /sftp/path/* c:\local\drive\path\" ^
        "exit"
    
    copy c:\local\drive\path\* n:\mapped\network\drive\path\
    

    不过,如果您不需要本地文件,您可以让 WinSCP 将文件从 SFTP 文件夹直接下载到映射的网络驱动器:

    winscp /ini=nul /command ^
        "open sftp://user:password@example.com/" ^
        "get -delete /sftp/path/* n:\mapped\network\drive\path\" ^
        "exit"
    

    【讨论】:

    • 你是对的,一如既往。我应该更清楚。 Winscp(和脚本)将在文件将被下载到的服务器上运行,并且该驱动器是网络映射的。
    猜你喜欢
    • 1970-01-01
    • 2020-12-29
    • 2013-11-17
    • 1970-01-01
    • 1970-01-01
    • 2013-07-19
    • 1970-01-01
    • 2012-01-21
    • 2018-08-31
    相关资源
    最近更新 更多