Yli N päivän ikäisten tiedostojen poistaminen automaattisesti Windowsista - Winhelponline

How Delete Files Older Than N Days Automatically Windows Winhelponline

Windows 10: ssä on sisäänrakennetut ominaisuudet, jotka vapauttavat tilaa poistamalla vanhat tiedostot % temp% hakemisto ja Lataukset kansio. Windows 10 -asetuksissa on vaihtoehto ('Tallennus'), joka automaattisesti tyhjentää väliaikaiset tiedostot sovelluksesi eivät käytä lataustiedostojen tiedostoja, joita ei ole muokattu viimeisen x päivän aikana, tai tiedostoja, jotka ovat roskakorissa x päivää.



Windows 10 -tallennusasetusten siivousvaihtoehdot



Levyn uudelleenjärjestäminen -työkalu myös tyhjentää tiedostot % temp% hakemistoon, jota ei ole käytetty viimeiset 7 päivää .



Levyn uudelleenjärjestäminen ja Tallennusasetukset kohdistaa vain % temp% ja Lataukset kansioita. Voit poistaa tiedostoja, jotka ovat vanhempia kuin tietyt päivät, mukautetussa kansiossa, kuten omassa Asiakirjat kansiossa, sinun on käytettävä yhtä näistä kolmesta menetelmästä:

Kuinka poistaa vanhempia tiedostoja kuin N päivää Windowsissa

Joidenkin alla olevien menetelmien avulla voit käyttää joko tiedostojen 'päivämäärä luotu' tai 'muokattu päivämäärä' perusominaisuuksia määrittämään 'vanhemmat' tiedostot tarpeen mukaan.

Tapa 1. Poista yli N päivää vanhemmat tiedostot File Explorerilla

Windows-haun avulla saat helposti luettelon tiedostoista valitun ajanjakson perusteella tai tietyn päivämäärän vanhempia tiedostoja.



  1. Avaa kansio, josta haluat poistaa vanhemmat tiedostot.
  2. Napsauta hakukenttää tai paina näppäimistön F3-painiketta.
  3. Napsauta Muutettu päivämäärä -painiketta ja valitse yksi avattavista vaihtoehdoista, sano 'Viime viikko'.
    Poista yli x päivää vanhemmat tiedostot Windowsissa
  4. Windows-haku suodattaa tulokset välittömästi. Valitse poistettavat tiedostot ja paina näppäimistön Poista-näppäintä.

Tärkeä: Oletusarvon mukaan Windows-haku etsii tiedostoja nykyisestä kansiosta JA kaikista alikansioista. Rajoita haut koskemaan vain nykyinen kansio , napsauta hakutyökalurivin / nauhan ”Nykyinen kansio” -painiketta.

Tarkennetun haun kysely: 'Päivämäärä' -operaattorit

Jos ennalta asetetut ajanjaksovaihtoehdot eivät sovi sinulle, voit kirjoittaa muokatun hakulausekkeen. Suodata tiedostot mukautetulta ajanjaksolta kirjoittamalla hakukenttään seuraava:

Päivitetty: 1.1.2017 .. 31.3.2017

Tämä löytää tiedostoja, joita on muokattu mainitun ajanjakson aikana. Voit myös käyttää Päivämäärä luotu: päivämäärä saavutettu: tai Päivämäärä: (erityisesti kamerakuvien) käyttäjille. Ota huomioon, että Päivämäärä: operaattori käyttää kameran tallentamia päivämäärän metatietoja (EXIF).

LIITTYVÄT: Kuinka etsiä kahden päivämäärän välillä luotuja tiedostoja Windowsissa

Voit etsiä tiedostoja, joita ei ole muokattu 1. marraskuuta 2017 jälkeen, käyttämällä vähemmän kuin (( < ) -symboli ja datemodifed: operaattori, kuten alla:

datemodified:<11/1/‎2017

Poista yli x päivää vanhemmat tiedostot Windowsissa

Valitse tiedostot luettelosta ja poista ne.

Kärki: Ajanjakson manuaalisen kirjoittamisen sijaan kirjoita datemodified: tai Päivämäärä luotu: tai päivämäärä saavutettu: tai Päivämäärä: operaattori hakukentässä ja anna File Explorerin näyttää päivämääränvalitsin sinulle. Tämän jälkeen voit valita päivämäärän tai ajanjakson ponnahdusikkunasta. Määritä päivämääräalue valitsemalla ensimmäinen päivämäärä ja vetämällä kohdistin sopivaan kenttään.

Jos haluat poistaa vanhemmat tiedostot automaattisesti sen sijaan, että tekisit hakukyselyn joka kerta, sinun on luotava erätiedosto tai PowerShell.


Tapa 2: Poista yli 'N' päivää vanhemmat tiedostot komentokehotteen avulla

ForFiles konsolityökalu (Windows 7, Windows 8, Windows 8.1 ja Windows 10) valitsee tiedoston tai tiedostojoukon ja suorittaa komennon kyseiselle tiedostolle tai tiedostojoukolle.

Forfiles Help - Komentorivivalitsimet / P - Ilmaisee polun, jolla aloittaa haku. Oletuskansio on nykyinen työkansio (.). / S - Ohjaa tiedostoja palaamaan alihakemistoihin. Kuten 'DIR / S'. / D - Valitse tiedostot, joilla on viimeksi muokattu päivämäärä. Esimerkiksi -365 tarkoittaa yli vuosi sitten, -30 tarkoittaa kuukautta sitten. / C 'komento' - Ilmaisee komennon, joka suoritetaan jokaiselle tiedostolle. Komennon merkkijonot tulisi käärittää lainausmerkeihin. Oletuskomento on cmd / c echo @file. Seuraavia muuttujia voidaan käyttää komentosarjassa: @file - palauttaa tiedoston nimen. @fname - palauttaa tiedostonimen ilman laajennusta. @ext - palauttaa vain tiedoston laajennuksen. @path - palauttaa tiedoston koko polun. @relpath - palauttaa tiedoston suhteellisen polun. @isdir - palauttaa TOSI, jos tiedostotyyppi on hakemisto, ja FALSE tiedostoille. @fsize - palauttaa tiedoston koon tavuina. @fdate - palauttaa tiedoston viimeksi muokatun päivämäärän. @ftime - palauttaa tiedoston viimeksi muokatun ajan.

Voit tarkastella koko tämän työkalun tukeman komentoriviargumenttien luettelon kirjoittamalla FORFILES /? komentokehotteessa.

Voit etsiä ja poistaa tiettyjä päiviä vanhempia tiedostoja ForFilesin avulla avaamalla komentokehoteikkunan ja kirjoittamalla yhden seuraavista komennoista:

ForFiles / p 'D:  My Scripts' / s / d -30 / c 'cmd / c del @path'

-tai-

ForFiles / p 'D:  My Scripts' / s / d -30 / c 'cmd / c del @file'

Poista yli x päivää vanhemmat tiedostot Windows forfiles.exe forfiles -komennossa

Edellä oletetaan, että kansion polku on D: Omat komentosarjat ja haluat poistaa yli 30 päivää vanhat tiedostot. Muokkaa kansion polkua ja päivien määrää tarpeidesi mukaan.

Et näe tulosviestiä, jos komento onnistuu. Jos mikään tiedosto ei vastaa määritettyjä ehtoja, näet viestin VIRHE: Määritetyillä hakuehdoilla ei löytynyt tiedostoja .

Lisävinkki: Suorita kuivakäynti ennen tiedostojen poistamista ja tarkista, mihin tiedostoihin määritetyt ehdot vaikuttavat, korvaamalla komento n kanssa heitti pois , kuten alla:

ForFiles / p 'D:  My Scripts' / s / d -30 / c 'cmd / c echo @path'

-tai-

ForFiles / p 'D:  My Scripts' / s / d -30 / c 'cmd / c echo @file'

forfiles poistaa vanhemmat tiedostot x päivää kaiku

Voit halutessasi luoda erätiedoston yllä olevalla komennolla. Tai suorittaa komento automaattisesti tietyin väliajoin Tehtävien ajastimella.

Suorita komento automaattisesti Task Scheduler -sovelluksella

  1. Käynnistä Tehtäväaikataulu.
  2. Napsauta Tehtävien ajoitus -kohdassa 'Tehtävien ajastimen kirjasto'.
  3. Napsauta oikean ruudun Luo tehtävä -linkkiä.
  4. Valitse Luo tehtävä -valintaikkunassa Yleiset-välilehti.
  5. Mainitse tehtävän nimi, sano 'Poista vanhemmat tiedostot Omat tiedostot'
  6. Napsauta Triggers-välilehteä ja napsauta New.
  7. Valitse avattavasta luettelosta Aikataulu avattavasta avattavasta Aloita tehtävä -luetteloruudusta.
  8. Voit halutessasi suorittaa tehtävän päivittäin, viikoittain tai kuukausittain. Jos valitset viikoittain, valitse viikonpäivä (t), jolloin haluat tehtävän käynnistyvän.
  9. Kun olet valmis, napsauta OK-painiketta.
  10. Napsauta Toiminnot-välilehteä ja napsauta Uusi ... -painiketta.
  11. Täytä Uusi toiminto -ikkunassa seuraava:
    Toimi: Käynnistä ohjelma Ohjelma / komentosarja: C:  Windows  System32  ForFiles.exe Lisää argumentteja (valinnainen): / p '% userprofile%  Documents' / s / d -30 / c 'cmd / c del @file'

    Poista yli x päivää vanhemmat tiedostot Windowsin tehtäväaikatajassa

  12. Napsauta OK.

Luo uusi tehtävä, joka suorituksen aikana poistaa tiedostot Asiakirjat kansio, jota ei ole muokattu viimeisen 30 päivän aikana.


Tapa 3: Poista yli N päivää vanhemmat tiedostot Scriptin avulla

Spiceworks-keskusteluryhmän käyttäjillä on VBScripts, jotka voivat poistaa tiedostoja, jotka ovat vanhempia kuin N päivää, määrätyllä kansiopolulla rekursiivisesti. Tässä on yksinkertainen komentosarja:

On Error Jatka Seuraava Aseta oFileSys = WScript.CreateObject ('Scripting.FileSystemObject') sRoot = 'C:  Path to Old Files' 'Polun juuret etsimään tiedostoja tänään = Date nMaxFileAge = 3' Tätä vanhemmat tiedostot (päivissä) poistetaan DeleteFiles (sRoot) -toiminto DeleteFiles (ByVal sFolder) Aseta oFolder = oFileSys.GetFolder (sFolder) Aseta aFiles = oFolder.Files Aseta aSubFolders = oFolder.SubFolders jokaiselle tiedostolle aFiles dFileCreated = FormatDateTime (file.DateCreat ) Jos DateDiff ('d', dFileCreated, tänään)> nMaxFileAge Sitten tiedosto.Delete (True) End If Next for Next jokaiselle kansiolle aSubFolders DeleteFiles (folder.Path) Next End -toiminto

Lähde: Poista vanhat tiedostot ja tyhjät alikansiot - Script Center - Spiceworks

TÄRKEÄ! Yllä oleva komentosarja ottaa huomioon kohteiden 'Luontipäivä' -ominaisuuden 'Viimeisen muokkauksen päivämäärän' sijaan. Jos haluat poistaa tiedostoja, joita et ole ollut muokattu muuta viimeisen N päivän aikana komentosarjassa seuraava rivi:

dFileCreated = FormatDateTime (file.DateCreated, '2')

että

dFileCreated = FormatDateTime (file.DateLastModified, '2')

Se tyhjentää yli 3 päivää vanhat tiedostot. Ainoa mitä sinun tarvitsee tehdä, on muokata kansion polkua ja tiedostojen ikäparametreja komentosarjassa vaaditulla tavalla, tallentaa se a: lla .vbs laajennus ja suorita se. Huomaa, että komentosarja toimii määritetyssä kansiossa ja alikansioissa rekursiivisesti.

Tässä on toinen komentosarja, joka poistaa yli N päivää vanhemmat tiedostot ja tyhjentää automaattisesti tyhjät alikansiot rekursiivisesti. Katso Poista tiedostot, jotka ovat vanhempia kuin ikä (päivissä) - Script Center - Spiceworks

LIITTYVÄT: Kuinka löytää ja poistaa tyhjiä kansioita nopeasti Windowsissa


Tapa 4: Poista yli n päivää vanhemmat tiedostot PowerShellin avulla

Kolmas vaihtoehto on käyttää PowerShelliä, jolla on hyödyllinen cmdlet-tiedosto vanhojen tiedostojen etsimiseen ja poistamiseen.

Käynnistä PowerShell ( powershell.exe) ja kirjoita seuraava komento:

Get-ChildItem -Path [kansion_polku] -File -Recurse -Force | Where-Object {($ _. LastWriteTime -lt (Get-Date) .AdDDays (-30))} | Poista kohde -Force

Esimerkki:

Get-ChildItem -Path 'D:  Raportit' -Tiedosto -Recurse -Force | Where-Object {($ _. LastWriteTime -lt (Get-Date) .AdDDays (-30))} | Poista kohde -Force

Voit käyttää polkuja, jotka sisältävät ympäristömuuttujaa % userprofile% documents , käytä alla olevaa syntaksia:

Get-ChildItem -Path '$ env: userprofile  documents' -Tiedosto -Recurse -Force | Where-Object {($ _. LastWriteTime -lt (Get-Date) .AdDDays (-30))} | Poista kohde -Force

(Merkintä: Esimerkin kansion nimi on käyttäjäprofiilisi Asiakirjat kansio. Muuta kansion nimi ja polku tarpeidesi mukaan.)

Koska käytimme -Tiedosto parametri, se toimii vain tiedostoille. Joten alikansioita, joita ei ole kirjoitettu viimeisen n päivän aikana, estetään poistamasta.

Yllä olevassa komennossa on kolme osaa:

  1. Get-ChildItem cmdlet saa luettelon Asiakirjat-kansiossa olevista tiedostoista.
  2. Sitten lähtö johdetaan Missä-esine cmdlet-tiedosto, jotta suodatus on valmis, valitsemalla vain tiedostot, joita ei ole muokattu viimeisen kerran x päivien lukumäärä (tässä esimerkissä 30 päivää ).
  3. Lopuksi piilotamme lähdön Poista esine cmdlet, joka puolestaan ​​poistaa vanhat tiedostot, jotka ovat palauttaneet edelliset kaksi cmdletiä.

Vinkki 1: Luettele vastaavat tiedostot, etkö poista niitä?

Jos haluat luetteloida vastaavat tiedostot ja kansiot poistamatta niitä, pudota | Poista esine vaihtaa.

Get-ChildItem -Path [kansion_polku] -File -Recurse -Force | Where-Object {($ _. LastWriteTime -lt (Get-Date) .AdDDays (-30))}}

Vinkki 2: Estä virheet poistaessasi kohteita

Voit estää virheilmoitusten (kun tarkastellaan tai poistetaan kohteita) näyttämisen konsolissa lisäämällä -ErrorAction hiljaa Jatka parametri.

Get-ChildItem -Path [kansion_polku] -File -Recurse -Force | Where-Object {($ _. LastWriteTime -lt (Get-Date) .AdDDays (-30))} | Remove-Item -ErrorAction SilentlyContinue -Force

Poista myös vanhat tiedostot kansioita

Huomaa, että yllä olevat komennot poistavat vain vanhat tiedostot, mutta eivät alikansioita, joita ei ole kirjoitettu viimeiseen x päivää. Poista vanhat kansiot pudottamalla -Tiedosto argumentti aiemmin selitetyistä komennoista.

Esimerkki:

Get-ChildItem -Path '$ env: userprofile  documents' -Recurse -Force | Where-Object {($ _. LastWriteTime -lt (Get-Date) .AdDDays (-30))} | Poista kohde -Force

(Viitata: Get-ChildItem-cmdlet-ohjeet Microsoftin sivustolla)

Tärkeä: -Takaisin parametri ohjaa PowerShellin hakemaan tiedostoja rekursiivisesti (alihakemistoissa). Voit estää tiedostojen etsimisen alikansioista poistamalla -Takaisin vaihtoehto niin, että vain nykyinen kansio käsitellään.


Yksi pieni pyyntö: Jos pidit tästä viestistä, jaa tämä?

Yksi 'pieni' osuutesi sinulta auttaisi vakavasti paljon tämän blogin kasvussa. Hyviä ehdotuksia:
  • Kiinnittää sen!
  • Jaa se suosikki blogiisi + Facebookiin, Reddit
  • Twiitti se!
Joten kiitos paljon tuestasi, lukijani. Se ei vie yli 10 sekuntia ajastasi. Jakopainikkeet ovat aivan alapuolella. :)