用于从以当前日期命名的文件夹上传文件的 WinSCP 命令行

WinSCP command line for uploading file from folder named with current date

我们银行刚刚更改了向他们上传和下载文件的方式。以前我们可以登录到安全网站,选择目录,然后手动 upload/download。现在一切都必须使用 FileZilla 或类似程序通过 SFTP 完成。

我想使用 WinSCP 自动执行 SFTP 上传过程。

我知道我需要使用 put 命令行来上传。我要上传的文件是每天生成的,文件名完全一样,只是上传的文件夹变了。目录结构如下:

C:\Finance\FY 2021\YYYYMMDD\file.txt

我的问题是每天上传此文件的上传命令行是什么样的。此上传将始终在同一天进行,因此文件夹名称将始终是上述格式的当前日期。

是否可以将这些命令包含在批处理文件中并从批处理文件 运行 中获取,而不是创建一个仅指向脚本 txt 文件的批处理文件 运行?感谢您的帮助!


FY YYYY部分处理的后续问题:

WinSCP 有 %TIMESTAMP% syntax,您可以使用它来引用名称中包含今天时间戳的文件夹。

是的,您可以使用 /command parameter:

在批处理文件中直接指定 WinSCP 命令
winscp.com /ini=nul /command ^
    "open sftp://username:password@ftp.example.com/ -hostkey=""...""" ^
    "put ""C:\Finance\FY 2021\%%TIMESTAMP#yyyymmdd%%\file.txt"" ""/remote/path/""" ^
    "exit"