Batch file WinSCP-将文件从SFTP服务器下载到网络位置,然后删除

Batch file WinSCP-将文件从SFTP服务器下载到网络位置,然后删除,batch-file,winscp,network-drive,mapped-drive,Batch File,Winscp,Network Drive,Mapped Drive,我需要编写一个WinSCP脚本或批处理文件,下载远程SFTP文件夹的内容,删除内容,然后上传到映射的网络文件夹。我知道如何编写脚本的登录部分。但我对具体的命令行应该是什么样子感到困惑。根据我阅读的命令脚本,下载并删除文件如下: get -delete -transfer=binary * 我没有得到的部分是上传到网络文件夹命令。我知道put是WinSCP上传命令操作员。但如何将其与网络文件夹位置文件一起使用呢?此外,可以在批处理文件中编写脚本,还是需要单独编写批处理文件和脚本?谢谢 到映射网络

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

get -delete -transfer=binary *
我没有得到的部分是上传到网络文件夹命令。我知道
put
是WinSCP上传命令操作员。但如何将其与网络文件夹位置文件一起使用呢?此外,可以在批处理文件中编写脚本,还是需要单独编写批处理文件和脚本?谢谢

到映射网络文件夹的“上载”不是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(和脚本)将在文件将下载到的服务器上运行,并且驱动器是网络映射的。