PuTTY psftp从部分名称获取文件

时间:2019-07-01 10:46:58

标签: batch-file sftp putty psftp

我们的一个供应商已开始发送报告,文件名后缀有导出日期,我无法使用PuTTY psftp来解决如何无论文件名如何更改都始终提取文件。

This works for the exact file
get "TBD_7dayExport_20190628.csv"

What I'm looking to do is something like:
get "TBD_7dayExport" %

我的目标是每天获取一个新的带日期的文件,导入并重命名为TBD_7dayExport

1 个答案:

答案 0 :(得分:0)

您可以将mget command与通配符一起使用:

mget TBD_7dayExport_*.csv

但是它不允许您将文件重命名为固定名称。您必须在下载后使用一些精美的批处理文件构造。像这样的东西:
Removing part of filename with batch


或者使用功能更强大的SFTP客户端,该客户端支持在传输文件时重命名文件。

例如对于 my WinSCP,您可以执行以下操作:

winscp.com /ini=nul /log=download.log /command ^
    "open sftp://user:password@example.com/ -hostkey=""ssh-rsa 2048 aa:bb:cc...""" ^
    "get TBD_7dayExport_*.csv TBD_7dayExport.csv" ^
    "exit"

WinSCP GUI可以generate a script/batch-file template为您服务。

一些资源:


另一个选项是PuTTY pscp。它的灵活性不如WinSCP,但足以满足您的需求:

pscp username@example.com:TBD_7dayExport_*.csv TBD_7dayExport.csv