Я пытаюсь удалить папки, которые старше определенной даты. Эти папки в почтовый файл, который выложен так:Удалить папки старше X в zip-файле
<Zip Folder> <Folder 1> <Folder 2> <Folder 3> <Folder 4>
Папки 2, 3 и 4 не может понадобиться все удаленные, так что я не могу просто удалить основной почтовый файл. Я попробовал это, но это dosen't, кажется, сделать что-нибудь:
function DeleteAuditFiles{
# The two parameters.
param([string]$limit, [string]$path)
$zips = Get-ChildItem -Path $path -recurse *.zip
foreach ($zipfile in $zips) {
$stream = New-Object IO.FileStream($zipfile.FullName, [IO.FileMode]::Open)
$mode = [IO.Compression.ZipArchiveMode]::Update
$zip = New-Object IO.Compression.ZipArchive($stream, $mode)
($zip.Entries | ? { $_.PSIsContainer -and $_.CreationTime -lt $limit }) | % { $_.Delete() }
$zip.Dispose()
$stream.Close()
}
}
Вы пытались использовать 'Remove-Item $ _. FullName -Force -Recurse' вместо' $ _. Delete() ' – Richard
@Chard Я пробовал это и, похоже, не работает, я Я не уверен, правильно ли мой код в определении каждой папки. Спасибо за вашу помощь –
Получите его, чтобы распечатать все пути к файлу с помощью 'Write-Host $ _. FullName' – Richard