Jak automaticky mazat soubory starší než N dní v systému Windows - Winhelponline

How Delete Files Older Than N Days Automatically Windows Winhelponline

Windows 10 má vestavěné funkce pro uvolnění místa odstraněním starých souborů v systému Windows % temp% adresář a Soubory ke stažení složku. Nastavení systému Windows 10 má možnost („Úložiště“), která se automaticky vymaže dočasné soubory vaše aplikace nepoužívají, soubory ve stažených souborech, které nebyly za posledních x dní upraveny, nebo soubory ležící v koši x dní.



možnosti vyčištění nastavení úložiště Windows 10



Nástroj Vyčištění disku také vymaže soubory v souboru % temp% adresář, který nebyl přístupný v posledních 7 dní .



Vyčištění disku a Nastavení úložiště zaměřit pouze na % temp% a Soubory ke stažení složky. Chcete-li odstranit soubory, které jsou starší než určitý počet dní v „vlastní“ umístění složky, jako je vaše Dokumenty složky, musíte použít jednu z těchto tří metod:

Jak automaticky mazat soubory starší než N dní v systému Windows

Některé z níže uvedených metod vám umožňují použít buď vlastnost „datum vytvoření“ nebo „datum změny“ souborů jako základ pro určení „starších“ souborů podle vaší potřeby.

Metoda 1. Pomocí Průzkumníka souborů odstraňte soubory, které jsou starší než dny „N“

Pomocí Windows Search můžete snadno získat seznam souborů na základě vybraného časového období nebo souborů starších než určité datum.



  1. Otevřete složku, ze které chcete odstranit starší soubory.
  2. Klikněte na vyhledávací pole nebo stiskněte klávesu F3 na klávesnici.
  3. Klikněte na tlačítko Datum změny a vyberte jednu z rozevíracích možností, například „Minulý týden“.
    smazat soubory starší než x dní v systému Windows
  4. Windows Search výsledky filtruje okamžitě. Vyberte soubory, které chcete odstranit, a stiskněte klávesu Delete na klávesnici.

Důležité: Ve výchozím nastavení hledá Windows hledání souborů v aktuální složce A ve všech podsložkách. Omezit vyhledávání na pouze aktuální složka , klikněte na tlačítko „Aktuální složka“ na panelu nástrojů / pásu karet Hledat.

Pokročilý vyhledávací dotaz: Operátoři „Datum“

Pokud vám přednastavené možnosti období nevyhovují, můžete zadat vlastní vyhledávací dotaz. Do vyhledávacího pole zadejte následující, chcete-li filtrovat soubory z vlastního časového období:

upraveno datem: 1. 1. 2017 .. 31. 12. 2017

Tím se vyhledají soubory, které byly během uvedeného časového období změněny. Můžete také použít datum vytvoření: datum přístupu: nebo datum: operátory (zejména pro snímky z fotoaparátu). Všimněte si, že datum: operátor používá metadata data (EXIF) zaznamenaná fotoaparátem.

PŘÍBUZNÝ: Jak vyhledávat soubory vytvořené mezi dvěma daty v systému Windows

Chcete-li najít soubory, které nebyly změněny po 1. listopadu 2017, použijte méně než ( < ) se symbolem změněno datem: operátor, jak je uvedeno níže:

upraveno datem:<11/1/‎2017

smazat soubory starší než x dní v systému Windows

Vyberte soubory ze seznamu a odstraňte je.

Spropitné: Místo ručního zadávání časového období zadejte upraveno datem: nebo datum vytvoření: nebo datum přístupu: nebo datum: operátor ve vyhledávacím poli a nechte Průzkumníka souborů, aby vám ukázal výběr data. Potom můžete z rozbalovacího seznamu vybrat datum nebo časové období. Chcete-li určit časové období, vyberte první datum a přetáhněte kurzor do příslušného pole.

Pokud si přejete mazat starší soubory automaticky, spíše než pokaždé dělat vyhledávací dotaz, musíte vytvořit dávkový soubor nebo PowerShell.


Metoda 2: Odstranění souborů starších než „N“ dnů pomocí příkazového řádku

The ProSoubory nástroj konzoly (ve Windows 7, Windows 8, Windows 8.1 a Windows 10) vybere soubor nebo sadu souborů a provede příkaz pro daný soubor nebo sadu souborů.

Nápověda k souborům - Přepínače příkazového řádku / P - Označuje cestu k zahájení vyhledávání. Výchozí složka je aktuální pracovní adresář (.). / S - dává pokyn souborům, aby se opakovaly do podadresářů. Jako „DIR / S“. / D - Vyberte soubory s naposledy upraveným datem. Například -365 znamená před více než rokem, -30 znamená před měsícem. / C 'command' - Označuje příkaz, který se má provést pro každý soubor. Řetězce příkazů by měly být zabaleny do uvozovek. Výchozí příkaz je 'cmd / c echo @file'. V řetězci příkazu lze použít následující proměnné: @file - vrací název souboru. @fname - vrátí název souboru bez přípony. @ext - vrací pouze příponu souboru. @path - vrátí úplnou cestu k souboru. @relpath - vrátí relativní cestu k souboru. @isdir - vrátí 'TRUE', pokud je typ souboru adresář, a 'FALSE' pro soubory. @fsize - vrací velikost souboru v bajtech. @fdate - vrací datum poslední změny souboru. @ftime - vrátí poslední upravený čas souboru.

Chcete-li zobrazit celý seznam argumentů příkazového řádku podporovaných tímto nástrojem, zadejte FORFILY /? v příkazovém řádku.

Chcete-li pomocí souborů ForFiles najít a odstranit soubory starší než určitý počet dní, otevřete okno příkazového řádku a zadejte jeden z následujících příkazů:

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

-nebo-

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

smazat soubory starší než x dní v příkazu forfiles Windows forfiles.exe

Výše uvedené předpokládá, že cesta ke složce je D: Moje skripty a chcete smazat soubory starší než 30 dnů. Upravte cestu ke složce a počet dní podle svých potřeb.

Pokud je příkaz úspěšný, neuvidíte žádnou výstupní zprávu. Pokud zadaným kritériím neodpovídají žádné soubory, zobrazí se zpráva CHYBA: Nebyly nalezeny žádné soubory se zadanými kritérii vyhledávání .

Další tip: Chcete-li před pokusem o odstranění souborů provést běh nasucho, nahraďte příkaz a zkontrolujte, které soubory jsou ovlivněny zadanými kritérii z s vyhodil , jak je uvedeno níže:

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

-nebo-

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

forfiles mazat starší soubory x dny echo

Volitelně můžete pomocí výše uvedeného příkazu vytvořit dávkový soubor. Nebo automaticky spustit příkaz v určených intervalech pomocí Plánovače úloh.

Spusťte příkaz automaticky pomocí Plánovače úloh

  1. Spusťte plánovač úloh.
  2. V Plánovači úloh klikněte na „Knihovna plánovače úloh“
  3. Klikněte na odkaz „Vytvořit úkol“ v pravém podokně.
  4. V dialogovém okně „Vytvořit úkol“ vyberte kartu „Obecné“.
  5. Uveďte název úkolu, řekněte „Odstranit starší soubory z Mých dokumentů“
  6. Klikněte na kartu Spouštěče a klikněte na Nový.
  7. V rozevíracím seznamu v rozevíracím seznamu „Zahájit úlohu“ vyberte možnost „Podle plánu“.
  8. Můžete se rozhodnout spustit úkol denně, týdně nebo měsíčně. Pokud zvolíte týdenní, vyberte den (dny) v týdnu, kdy chcete úkol spustit.
  9. Po dokončení klikněte na tlačítko OK.
  10. Klikněte na kartu „Akce“ a poté na tlačítko „Nové…“.
  11. V okně „Nová akce“ vyplňte následující:
    Akce: Spusťte program Program / skript: C:  Windows  System32  ForFiles.exe Přidat argumenty (volitelné): / p '% userprofile%  Documents' / s / d -30 / c 'cmd / c del @file'

    smazat soubory starší než x dní v plánovači úloh systému Windows

  12. Klikněte na OK.

Je vytvořen nový úkol, který při spuštění vymaže soubory ve vašem Dokumenty složka, která nebyla za posledních 30 dní změněna.


Metoda 3: Smazání souborů starších než N dní pomocí Script

Uživatelé fóra Spiceworks mají VBScripty, které mohou rekurzivně mazat soubory starší než N počet dní na zadané cestě ke složce. Zde je jednoduchý skript:

Při chybě Pokračovat Další sada oFileSys = WScript.CreateObject ('Scripting.FileSystemObject') sRoot = 'C:  Cesta ke starým souborům' 'Kořen cesty k vyhledání souborů dnes = Datum nMaxFileAge = 3' Soubory starší než toto (ve dnech) bude odstraněn DeleteFiles (sRoot) Funkce DeleteFiles (ByVal sFolder) Nastavit oFolder = oFileSys.GetFolder (sFolder) Nastavit aFiles = oFolder.Files Nastavit aSubFolders = oFolder.SubFolders Pro každý soubor v souboru aFiles dFileCreated = FormatDateTime (FormatDateTime) ) If DateDiff ('d', dFileCreated, today)> nMaxFileAge Then file. Delete (True) End If Next For each folder in aSubFolders DeleteFiles (folder.Path) Next End Function

Zdroj: Odstranit staré soubory a prázdné podsložky - Centrum skriptů - Spiceworks

DŮLEŽITÉ! Výše uvedený skript bere v úvahu vlastnost „Datum vytvoření“ položek namísto „Datum poslední změny“. Pokud chcete smazat soubory, které dosud nebyly upraveno v posledních N dnech změňte následující řádek ve skriptu:

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

na

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

Vymaže soubory starší než 3 dny. Vše, co musíte udělat, je upravit cestu ke složce a maximální parametry stáří souboru podle požadavků ve skriptu, uložit pomocí a .vbs rozšíření a spusťte jej. Skript pracuje na zadané složce a podsložkách rekurzivně.

Zde je další skript, který odstraní soubory starší než N dní a automaticky rekurzivně vymaže prázdné podsložky. Vidět Odstraňte soubory starší než maximální věk (ve dnech) - Centrum skriptů - Spiceworks

PŘÍBUZNÝ: Jak rychle najít a odstranit prázdné složky v systému Windows


Metoda 4: Odstranění souborů starších než ‚n‘ dnů pomocí prostředí PowerShell

Třetí možností je použít PowerShell, který má užitečnou rutinu k vyhledání a odstranění starých souborů.

Spusťte PowerShell ( powershell.exe) a zadejte následující příkaz:

Get-ChildItem -Path [cesta_skladače] -File -Recurse -Force | Where-Object {($ _. LastWriteTime -lt (Get-Date) .AddDays (-30))} | Odebrat položku - Síla

Příklad:

Get-ChildItem -Path 'D:  Reports' -File -Recurse -Force | Where-Object {($ _. LastWriteTime -lt (Get-Date) .AddDays (-30))} | Odebrat položku - Síla

Chcete-li použít cesty obsahující proměnnou prostředí jako % userprofile% documents , použijte níže uvedenou syntaxi:

Get-ChildItem -Path '$ env: userprofile  documents' -File -Recurse -Force | Where-Object {($ _. LastWriteTime -lt (Get-Date) .AddDays (-30))} | Odebrat položku - Síla

(Poznámka: Název složky v příkladu je váš uživatelský profil Dokumenty složku. Podle potřeby změňte název složky a cestu.)

Protože jsme použili -Soubor parametr funguje pouze u souborů. Takže podsložkám, které nebyly za posledních n dní zapsány, bude zabráněno ve smazání.

Výše uvedený příkaz má tři části:

  1. The Get-ChildItem rutina získá seznam souborů ve složce Dokumenty.
  2. Potom je výstup směrován na Kde-Objekt rutina, aby byla filtrace hotová, vybírá pouze soubory, které nebyly naposledy změněny X počet dní (v tomto příkladu 30 dní ).
  3. Nakonec přivedeme výstup na Odebrat položku rutina, která zase odstraní ty starší soubory vrácené předchozími dvěma rutinami.

Tip 1: Seznam shodných souborů, nemazat je?

Chcete-li zobrazit seznam odpovídajících souborů a složek bez jejich odstranění, přetáhněte ikonu | Odebrat položku přepínač.

Get-ChildItem -Path [cesta_skladače] -File -Recurse -Force | Where-Object {($ _. LastWriteTime -lt (Get-Date) .AddDays (-30))}

Tip 2: Potlačte chyby při mazání položek

Chcete-li potlačit zobrazování chybových zpráv (při přístupu nebo mazání položek) v konzole, přidejte -ErrorAction SilentlyContinue parametr.

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

Odstranit staré soubory stejně jako složky

Výše uvedené příkazy odstraní pouze staré soubory, ale nikoli podsložky, které nebyly zapsány v posledním X dnů. Chcete-li odstranit staré složky, přetáhněte ikonu -Soubor argument v dříve vysvětlených příkazech.

Příklad:

Get-ChildItem -Path '$ env: userprofile  documents' -Recurse -Force | Where-Object {($ _. LastWriteTime -lt (Get-Date) .AddDays (-30))} | Odebrat položku - Síla

(Viz: Dokumentace rutiny Get-ChildItem na webu Microsoftu)

Důležité: The - Nábor parametr směruje PowerShell k rekurzivnímu získávání souborů (v podadresářích). Chcete-li zabránit vyhledávání souborů v podsložkách, odeberte soubor - Nábor možnost, aby byla zpracována pouze aktuální složka.


Jedna malá žádost: Pokud se vám tento příspěvek líbil, sdílejte ho prosím?

Jedno „malé“ sdílení od vás by vážně hodně pomohlo s růstem tohoto blogu. Několik skvělých návrhů:
  • Připnout!
  • Sdílejte to na svém oblíbeném blogu + Facebook, Reddit
  • Tweetujte to!
Takže vám moc děkuji za podporu, můj čtenáři. Nebude to trvat déle než 10 sekund vašeho času. Tlačítka pro sdílení jsou vpravo dole. :)