Sådan slettes filer, der er ældre end X dage, automatisk ved hjælp af PowerShell

how delete files older than x days automatically using-powershell

Du kan bruge PowerShell til at frigøre plads og holde ting organiseret ved kun at slette filer, der er ældre end et bestemt antal dage i en hvilken som helst mappe - Sådan gør du på Windows 10.



I Windows 10 er Storage sense en funktion til automatisk at frigøre plads, når du har lavt lageropbevaring. Funktionen fungerer ved at slette uønskede systemfiler, de filer, der har været i papirkurven eller mappen Downloads i mere end en måned, og lave OneDrive-indhold, som du har brugt i et stykke tid kun online.



Selvom denne funktion kan være nyttig til at kontrollere lagerpladsen, er den begrænset og tilbyder ikke en mulighed for manuelt at tilføje forskellige placeringer for at overvåge og slette filer, der ikke har ændret sig i den sidste måned eller deromkring.

Hvis du gemmer ikke-vigtige filer på et andet sted, er det muligt at bruge PowerShell og Task Scheduler til at overvåge og rydde filer fra enhver mappe, der er ældre end et specificeret antal dage.



Heri guide, lærer du trinnene til automatisk at slette filer, der ikke er blevet ændret i den sidste måned eller et antal dage, du angiver på Windows 10.

Vigtig: Test kommandoen ved hjælp af en midlertidig mappe, da specificering af den forkerte parameter kan medføre, at de forkerte filer slettes.

Sådan bruges PowerShell til at slette filer, der er ældre end X dage på Windows 10

Hvis du har forskellige mapper med en masse filer, og du gerne vil rydde op ved at slette dem, der er ældre end bestemte dage, kan du bruge disse trin:

  1. Åben Start.



  2. Søge efter Windows PowerShell, højreklik på resultatet og vælgKør som administrator mulighed.

  3. Skriv følgende kommando for at slette filer, der ikke er blevet ændret i de sidste 30 dage, og tryk på Gå ind:

    Get-ChildItem –Path 'C:  path  to  folder' -Recurse | Where-Object {($ _. LastWriteTime -lt (Get-Date) .AddDays (-30))} | Fjern-element

    Husk at ændre i kommandoen ovenfor 'C: sti til mappe' angive stien til den mappe, du vil slette filer, og ændre -30 for at vælge filer med en sidst ændret dato.

    PowerShell LastWriteTime command

    PowerShell LastWriteTime-kommando

Sådan bruges Task Scheduler til automatisk at slette filer, der er ældre end X dage, i Windows 10

Kommandoen i de foregående instruktioner giver dig mulighed for at slette filer i en mappe, der er ældre end 30 dage, men du skal åbne PowerShell og udføre kommandoen manuelt hver gang du vil frigøre plads.

Oprettelse af et PowerShell-script ved hjælp af Notepad

For at køre en opgave vha. Opgaveskemaet, skal du oprette et PowerShell-script med trinnene:

  1. Åben Start.

  2. Søge efter notepad og klik på det øverste resultat for at åbne oplevelsen.

  3. Kopier og indsæt følgende kommando i en Notepad-tekstfil:

    Get-ChildItem –Path 'C:  path  to  folder' -Recurse | Where-Object {($ _. LastWriteTime -lt (Get-Date) .AddDays (-30))} | Fjern-element

    Husk at ændre i kommandoen ovenfor 'C: sti til mappe' angive stien til den mappe, du vil slette filer, og ændre -30 for at vælge filer med en sidst ændret dato.

  4. Klik på Fil menu.

  5. Vælg Gem som mulighed.

  6. Gem filen ved hjælp af cleanup.ps1 navn og udvidelse.

Oprettelse af en opgave vha. Opgaveplanlægning

Hvis du vil automatisere processen, skal du bruge Task Scheduler til at oprette en opgave, der udfører kommandoen med specificerede intervaller.

  1. Åben Start.

  2. Søge efterOpgaveplanlægning og klik på resultatet.

  3. Højreklik på Task Scheduler-bibliotek folder.

  4. Klik påNy mappe mulighed.

  5. Skriv ethvert navn på mappen, og klik på Okay. (Vi opretter en ny mappe for at holde opgaverne organiserede og adskilt fra systemopgaverne.)

  6. Højreklik på den nyligt oprettede mappe, og vælgOpret opgave mulighed.

  7. I boksen “Navn” skal du indtaste et navn til opgaven.

  8. Vælg fanen under 'Generelt' under afsnittet 'Sikkerhedsindstillinger' Kør, om bruger er logget på eller ej mulighed. (Dette er den mulighed, der gør, at kommandovinduet ikke vises, når opgaven kører automatisk.)

    Task Scheduler General tab

    Fanen Arbejdsplanlægning Generelt
  9. RydGem ikke adgangskode mulighed.

  10. Klik på fanen “Triggers”.

  11. Klik på Ny knap.

  12. Brug rullemenuen 'Begynd opgaven' og vælg På en tidsplan.

  13. Under 'Indstillinger' angiver du, hvornår du vil have opgaven til at køre (for eksempel Til tiden, Daglig, Ugentlig, Månedlig). Uanset hvilken mulighed du vælger, skal du sørge for at specificere Start indstillinger på højre side.

  14. Klik påOkay knap.

    Task Scheduler Trigger settings

    Indstillinger for Task Scheduler-trigger
  15. Klik på Handlinger fane.

  16. Klik på Ny Knap.

  17. Brug rullemenuen 'Handlinger' til at vælgeStart et program mulighed.

  18. Skriv følgende kommando i feltet 'Program / script':

    powershell.exe
  19. Skriv følgende kommando i feltet 'Tilføj argumenter', og klik påOkay knap.

    -ExecutionPolicy Bypass C:  path  to  cleanup.ps1

    Husk at ændre i kommandoen ovenfor 'C: sti til cleanup.ps1' angive stien til det PowerShell-script, du tidligere har oprettet for at slette filer.

    Task Scheduler Action settings

    Task Scheduler Handlingsindstillinger
  20. Klik på Indstillinger fane.

  21. Kontroller følgende indstillinger:

    • Tillad, at opgaven køres efter behov.
    • Kør opgaven så hurtigt som muligt efter en planlagt start mistet.
    • Hvis opgaven mislykkes, skal du genstarte alt.
  22. Klik påOkay knap.

  23. Indtast dit administrative brugernavn og adgangskode (hvis relevant).

  24. Klik påOkay knap.

Når du har afsluttet trinnene, kører PowerShell-scriptet i tidsplanen, hvor du sletter filerne på det sted, der er ældre end det antal dage, du har angivet. Bare husk ikke at ændre navnet eller flytte mappen til en anden placering, ellers mislykkes opgaven.

Opdatering 29. januar 2018: Denne guide blev oprindeligt offentliggjort i december 2017, og den er blevet opdateret i januar 2019.