TIP#1378: Jak ve Windows přesunout soubory ve složce do jiné po určitém počtu dní

Už dlouhé roky mám na disku složku /tmp do které ukládám vše co je „dočasné“. Tedy hlavně ve významu dočasné práce s takovýmito soubory. Tahle složka má tendenci růst a růst, takže je žádoucí ji buď po určité době promazávat nebo archivovat někam na NAS úložiště. Mazat ve skutečnosti tyhle soubory až tak moc nechci, čas od času se objeví potřeba se k některému z nich vrátit, takže to druhé řešení je to potřebnější.

Už dlouho tohle řeším ručně – na NAS mám archiv téhle složky a zhruba co měsíc či dva tam přesunu všechny soubory z předchozích měsíců – tříděné po měsících (prostě tam jsou roční složky a v nich podsložky jménem RRRR-MM). Je to celkem snadno udělatelné s pomocí FAR manageru kde si soubory utřídím podle data a pak označím (ručně) vše co je v určitém směsici a pak to jedním kliknutím nechám přesunout.

2019-06-16 13_54_55-{H__tmp} - Far 3.0.3367 x64.png

Čas od času si říkám, že by vůbec nebylo marné tohle automatizovat a čas od času také vymýšlím jak to udělat. No a jedno takové řešení by tu bylo. Spočívá ve využití robocopy protože tam je možnost výběru souborů určitého stáří.

set X=30
set "source=C:\Source Folder"
set "destination=D:\Destination Folder"

robocopy "%source%" "%destination%" /mov /minage:%X%

Tohle můžete použít v dávkovém souboru – stačí pozměnit první tři řádky na potřebné. Ten první (X) je počet dnů a další dva prostě určují odkud se přesouvají soubory kam.

Neřeší to kompletně výše popsané – neumí to cílovou složku ve formě měnícího se RRRR-

MM – ale to už je možnost pro další rozvoj – proměnná destination se nakonec při trošce snahy spočítat – tak aby zahrnovala rok a „předchozí měsíc““. Pak by stačilo tenhle skript (dávkový soubor) pouštět třeba každého prvního dne v měsíci

TIP: Jak mohu nějak automaticky třídit, přesouvat a zpracovávat soubory? vám představí pár užitečných řešení pomocí extra software

Pokud by se vám nelíbilo robocopy tak je tu varianta s forfiles

FORFILES /P “%source” /D -30 /C “cmd /c if @isdir==FALSE move @file %destination”

TIP: O robocopy je řeč i  Jak synchronizovat soubory a složky mezi počítači?Čím zálohovat počítač s Windows? A proč vůbec zálohovat

Reklamy