我在映射到 X 驱动器的不同文件夹中拥有近 500k 个 CCTV 文件,我需要在特定时间(例如午夜 12 点到凌晨 6 点)删除所有这些文件,但无论日期如何,都保留剩余的文件。我怎样才能做到这一点?我尝试使用 for 文件,但似乎只过滤当天的文件,而且时间也不正确,因为它基本上不会在定义的时间内显示文件。
对于 PowerShell,我得到了这个:
Get-ChildItem -Path c:\your\path\here -Recurse |
Where-Object -FilterScript { $_.LastWriteTime -ge (Get-Date).AddHours(-2) }
但不确定如何修改它以获取仅包含上午 12 点到上午 6 点文件的列表。
最佳答案
我认为这可能有用。它检查 LastWriteTime.Hour
是否大于 0(上午 12 点)但小于 6(上午 6 点):
Get-ChildItem -Path c:\path -Recurse |
Where-Object { $_.LastWriteTime.Hour -gt 0 -and $_.LastWriteTime.Hour -lt 6}
关于powershell - 有什么方法可以在指定时间过滤所有文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59985467/