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.
Č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 dá 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č v