Už jsme vám ukázali, jak flexibilní může být linuxový shell , ale to neznamená, že Windows jsou dále pozadu. Tady jsou dvě techniky, které můžete použít v závislosti na vašich preferencích prostředí, cmd nebo PowerShell.
PowerShell 3
Get-ChildItem –Cesta „C: \ Backups“ –Recurse | Where-Object CreationTime –lt (Get-Date) .AddDays (-5) | Odebrat položku
PowerShell 2
Get-ChildItem –Cesta „C: \ Backups“ –Recurse | Where-Object{$_.CreationTime –lt (Get-Date).AddDays(-5)} | Odebrat položku
Vysvětlení
- Nejprve dostaneme objekty FileInfo a DirectoryInfo v cestě C: \ Backups.
- Objekty FileInfo a DirectoryInfo obsahují vlastnost CreationTime, takže pomocí ní můžeme filtrovat kolekci.
- Operátor –lt (menší než) se poté použije k porovnání vlastnosti CreationTime objektů s odečtením Get-Date (aktuální datum) 5 dní.
- To nám potom ponechává kolekci objektů, které byly vytvořeny před více než 5 dny, které předáme do Remove-Item.
Pro Tip
Chcete-li zjistit, co bude odstraněno, můžete použít parametr –WhatIf:
Get-ChildItem –Cesta „C: \ Backups“ –Recurse | Where-Object CreationTime –lt (Get-Date) .AddDays (-5) | Odebrat položku - co
Příkazový řádek
I když vám doporučujeme použít jednu z metod PowerShellu, aniž byste se dostali k některým odvážným detailům, můžete to udělat také z příkazového řádku.
forfiles -p "C: \ Backups" -s -m *. * -d -5 -c "cmd / c del @path"
Pro Tip
Chcete-li zjistit, jaké soubory budou odstraněny, můžete použít echo.
forfiles -p "C: \ Backups" -s -m *. * -d -5 -c "cmd / c echo @file"