5. 12. 2013

 

Smazání souborů staršínch než N dnů Windows dávkou


Windows dávka (.cmd nebo .bat), která maže JPG soubory starší než 30 dnů v cestě C:\Cesta\KdeChiMazat vypadá následovně:
forfiles /P "C:\Cesta\KdeChiMazat" /M *.jpg /D -30 /C "cmd.exe /c del /q @path" 

Pokud chci i v podadresářích C:\Cesta\KdeChiMazat, tak přidám parametr /S.

Příkaz forfiles neumí fungovat nad UNC cestami. Ale dá se to obejít trikem s PUSHD / POPD, který dočasně UNC cestu namapuje na volné písmenko disku (pravděpodobně Z:):
pushd \\Server\Cesta\KdeChciMazat && (
    forfiles /M *.jpg /D -30 /C "cmd.exe /c del /q @path"
) & popd
Pokud si nejsem jist, co bude dávka mazat, tak si mohu soubory jen zobrazit. Nahradím
del /q @path
tímto
echo @path

Štítky: