仅将最新文件夹上传到FTP本地->远程

问题描述

我需要能够每天将本地文件夹(每天创建)上传到远程FTP。

我搞砸了WinSCP文件掩码(即put -filemask="*>=today" C:\local\ /),遇到了一个问题,该问题会上传最新的文件夹(包含子文件),但还会上传目录中的其余文件夹。 (它们为空)然后我意识到文件掩码仅适用于文件,不适用于文件夹。

然后我遇到了这个线程:Download files newer than X days from SFTP server with WinSCP,skipping folders that do not contain any matching files

  • 用户遇到相同的问题,除了他要远程-> Local,而我需要相反的解决方案是使用PowerShell

考虑到该线程已有两年历史,WinSCP脚本现在支持这种功能吗?不幸的是,我是PowerShell的新手。

感谢您的时间。

解决方法

WinSCP不支持文件夹的时间限制。

但是发生了变化(自other question起),现在您可以阻止WinSCP创建空文件夹。将-rawtransfersettings switchexcludeemptydirectories setting一起使用。

put -rawtransfersettings ExcludeEmptyDirectories=1 -filemask="*>=today" C:\local\ /

如果您确实需要上传最新文件夹(与上传包含最新文件的文件夹相反),则仍然可以使用您喜欢的语言(例如WinSCP .NET assembly)使用PowerShell,如other question所示。