是否可以递归删除WinSCP批处理文件中超过X天的文件? [已关闭]

问题描述 投票:0回答:1

我有一个脚本可以将文件从一台服务器传输到另一台服务器。 有了这个,我需要有一部分脚本来删除目标文件夹上超过 X 天的文件。

我检查了WinSCP文档、论坛和所有其他信息,但我没有找到任何信息,任何人都可以帮助我。

我已经尝试循环进入文件夹并删除每个文件超过 X 天,但没有任何效果。

batch-file sftp winscp
1个回答
0
投票

不,简单的 WinSCP 脚本是不可能的。

但是使用 WinSCP .NET 程序集和例如,这很容易PowerShell 脚本

在我回答这个问题的最后,你会找到非递归删除的完整代码:
使用 PowerShell 或批处理文件从 FTP 服务器删除超过 X 天的文件

要递归查找旧文件,请使用

Session.EnumerateRemoteFiles
对其进行修改,如下所示:

$oldFiles  =
    $session.EnumerateRemoteFiles(
        "/remote/path", $Null, [WinSCP.EnumerationOptions]::AllDirectories) |
    Where-Object { -Not $_.IsDirectory } | 
    Where-Object { $_.LastWriteTime -lt $limit }
© www.soinside.com 2019 - 2024. All rights reserved.