サブフォルダー内で同じ日に複数回ファイルを生成したため、各日付の最初のファイルのみを保持して、最後に生成された 5 つのファイルをディレクトリに保持したいと考えています。
「old」という名前のサブフォルダーを持つ複数のフォルダーがあります
C:\test\folder1\old
C:\test\toto\old
...
たとえば、私のサブフォルダーには次のものがあります。
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 07/06/2013 12:01 231248950 geofi.ry.7.0.0.159940.zip
-a--- 07/06/2013 12:33 231248506 geofi.ry.7.0.0.159950.zip
-a--- 07/06/2013 14:51 231248957 geofi.ry.7.0.0.159962.zip
-a--- 17/06/2013 19:47 231248860 geofi.ry.7.0.0.160871.zip
-a--- 18/06/2013 11:03 231248480 geofi.ry.7.0.0.160907.zip
-a--- 23/06/2013 07:30 231250266 geofi.ry.7.0.0.161571.zip
-a--- 23/06/2013 21:30 231250266 geofi.ry.7.0.0.161563.zip
-a--- 04/07/2013 00:42 231249910 geofi.ry.7.0.0.162695.zip
-a--- 04/07/2013 16:12 231249910 geofi.ry.7.0.0.162647.zip
-a--- 08/07/2013 16:10 231250481 geofi.ry.7.0.0.163046.zip
-a--- 10/07/2013 08:40 231250476 geofi.ry.7.0.0.163378.zip
-a--- 17/07/2013 10:22 231249418 geofi.ry.7.0.0.164001.zip
これらのファイルを保持したい:
-a--- 17/07/2013 10:22 231249418 geofi.ry.7.0.0.164001.zip
-a--- 10/07/2013 08:40 231250476 geofi.ry.7.0.0.163378.zip
-a--- 08/07/2013 16:10 231250481 geofi.ry.7.0.0.163046.zip
-a--- 04/07/2013 00:42 231249910 geofi.ry.7.0.0.162695.zip (on this date i have two files, I want to keep the first generated at this date 00:42).
-a--- 23/06/2013 07:30 231250266 geofi.ry.7.0.0.161571.zip (on this date i have two files, I want to keep the first generated at this date 07:30).
これは下書きですが、行き詰まっています。時間を比較するにはどうすればよいですか?
$Days = "5"
$TargetFolder = "C:\test\"
$Extension = "*.zip"
$Files = Get-Childitem $TargetFolder -Include $Extension -Recurse | sort-object {$_.LastWriteTime} -Descending | ? { $_.fullname -match "old" } | select-object -First 1
$most_recent_date = $files.LastWriteTime
$LastWrite = $most_recent_date.Add(-$Days)
$Files2 = Get-Childitem $TargetFolder -Include $Extension -Recurse | Where {$_.LastWriteTime -le "$LastWrite"} | ? { $_.fullname -match "old" }
foreach ($File in $Files2)
{
if ($File -ne $NULL)
{
Remove-Item $File.FullName | out-null
}
else
{
Write-Host "No more files to delete!"
}
}
ありがとう