powershell 使用WinSCP中的文件掩码获取仅1天前的文件,而不是目录

k4ymrczo  于 2023-04-21  发布在  Shell
关注(0)|答案(1)|浏览(208)

我想下载1天前的所有文件,无论它们是在目录、子目录还是根目录中。通常会有一个包含旧文件的目录列表,并且会不时地在旧目录中放置一个新文件。
下面的代码拉整个目录时,它至少有一个,1天的旧文件已被放置在它。我想只拉1天的旧文件从目录,而不是整个目录时,一个新的文件被放置在它。
使用filemask是否可能?如果可以,我需要在下面的示例PowerShell代码中更改哪些内容?(日志和目标变量在此脚本之前构建。)

& "C:\Program Files (x86)\WinSCP\WinSCP.com" `
    /log="$log" /ini=nul `
    /command `
    "open ftpsite / -hostkey=`"`"hostKeyInfo`"`" -rawsettings FSProtocol=2" `
    "cd /" `
    "lcd $path" `
    "get -FileMask *>=1D" `
    "exit"

谢谢你的帮助。

evrscar2

evrscar21#

  • -filemask之后缺少=
  • 您可能需要添加-rawtransfersettings ExcludeEmptyDirectories=on以跳过不包含任何符合条件的文件的文件夹。

完整的命令应该是这样的:

get -filemask=*>=1D -rawtransfersettings ExcludeEmptyDirectories=on *

参见Download files newer than X days from SFTP server with WinSCP, skipping folders that do not contain any matching files

相关问题