所以我试图浏览一个文件夹,然后压缩任何30天内修改过的文件并将其压缩成名为MM / dd / yyyy的文件。
我一直在尝试使用此
for ($i=0; $i -le 30; $i++)
{
$Date = get-date -format d((get-date).adddays(-$i))
get-childitem "\\Directory\*" | where-object {$_.LastWriteTime -eq $date}
}
但是使用它只会获得日期时间00:00,并且当时没有创建或修改任何内容。我需要检查那天完全创建的任何东西。
如何在当天的任何时间而不是特定时间返回创建或修改的内容?
我将使用它将文件压缩到一个文件夹中,但这不是我被卡住的地方。
Add-Type -Assembly "System.IO.Compression.FileSystem"
[System.IO.Compression.ZipFile]::CreateFromDirectory($Dir, $DirZip)
谢谢, 安德鲁
答案 0 :(得分:0)
使用等于比较,它严格地寻找完全匹配。相反,你应该检查一系列天,你可以使用大于和小于。
Get-ChildItem "\\Directory\*" | Where-Object {$_.LastWriteTime -gt (Get-Date).AddDays(-$i) -and $_.LastWriteTime -lt (Get-Date).AddDays(-$i+1) }