If-Koubou

Kā izdzēst failus, kas vecāki par X dienām sistēmā Windows

Kā izdzēst failus, kas vecāki par X dienām sistēmā Windows (Kā)

Mēs jau esam parādījuši, cik elastīga ir Linux čaula, taču tas nenozīmē, ka Windows vairs nav aiz muguras. Šeit ir divas metodes, kuras varat izmantot atkarībā no jūsu čaulas preferences, cmd vai PowerShell.

PowerShell 3

Get-ChildItem -Path "C: \ Backups" -Recurse | Kur-objekta izveides laiks-lt (Get-Date) .AddDays (-5) | Noņemt-vienumu

PowerShell 2

Get-ChildItem -Path "C: \ Backups" -Recurse | Kur objekts $ _. CreationTime -lt (Get-Date) .AddDays (-5) | Noņemt-vienumu

Paskaidrojums

  • Pirmkārt, mēs iegūstam FileInfo un DirectoryInfo objektus Path C: \ Backups.
  • Both FileInfo un DirectoryInfo objekti satur CreationTime īpašumu, lai mēs varētu filtrēt kolekciju, izmantojot to.
  • Pēc tam tiek izmantots -lt (mazāk nekā) operators, lai salīdzinātu objektu CreationTime ar Get-Date (pašreizējais datums) atņemtu 5 dienas.
  • Tad tas atstāj mūs ar priekšmetu kolekciju, kas tika izveidoti vairāk nekā pirms piecpadsmit dienām, un mēs pārietam uz Noņemšanas vienumu.

Pro padoms

Lai redzētu, kas tiks noņemts, varat izmantot parametru -WhatIf:

Get-ChildItem -Path "C: \ Backups" -Recurse | Kur-objekta izveides laiks-lt (Get-Date) .AddDays (-5) | Noņemt vienumu -Kas Ja

Komandu uzvedne

Lai gan mēs iesakām izmantot vienu no PowerShell metodēm, neiegūstot nevienu no graudainām detaļām, to var izdarīt arī komandu uzvednē.

forfiles -p "C: Backups" -s -m *. * -d -5 -c "cmd / c del @path"

Pro padoms

Lai redzētu, kādi faili tiks izdzēsti, varat izmantot echo.

forfiles -p "C: \ Backups" -s -m *. * -d -5 -c "cmd / c echo @file"