Я сделал Powershell скрипт, который следующийPowerShell: добавить дату и время в имени файла
$Now = Get-Date
$Days = "1"
$TargetFolder = "D:\DatabaseBackup"
$Extension = "*.bak"
$LastWrite = $Now.AddDays(-$Days)
$Files = Get-Childitem $TargetFolder -Include $Extension -Recurse | Where {$_.LastWriteTime -le "$LastWrite"}
foreach ($File in $Files)
{
if ($File -ne $NULL)
{
write-host "Deleting File $File" -ForegroundColor "DarkRed"
Remove-Item $File.FullName | out-null
}
else
{
Write-Host "No more files to delete!" -ForegroundColor "Green"
}
}
Теперь это простой скрипт для удаления файлов из каталога.
У меня есть файлы в моем каталоге с именами, как этот
adventure_Test-20150131-191938.bak
adventure_Test-20150131-152010.bak
adventure_Test-20150205-191938.bak
adventure_Test-20150205-195038.bak
ontherDatabase-20150205-191938.bak
ontherDatabase-20150205-195038.bak
теперь вы можете увидеть у нас есть два файла в 31th Jan 2015
и два файла в 5th Feb 2015
. Я хочу, чтобы удалить все файлы, кроме двух последних добавлены и у нас есть время даты в имени файла видного
Update Я хочу оставить две новые файлы для каждой резервной копии базы данных
Непонятно, что вы хотите сделать. Вы хотите оставить два новых файла в каталоге? Или два новых в день? Или что? –
Я хочу оставить два новых – Ancient
@MikeWise i обновленный вопрос, пожалуйста, см. – Ancient