В жизни каждого админа был, есть и будет есть, файловый сервер. И естественно, на каждом таком сервере возникает что-то вроде «папки для обмена». Как предполагает название — файлы туда должны быть положены, а в последствии удалены, НО, пользователи как правило имеют малый объем памяти, и соответственно забывают удалить за собой плоды своего творчества. А сервера-то до сих пор не научились делать резиновыми! Вот и возникает момент, когда место на диске кончается и начинается «генеральная уборка», процесс мучительный и долгий, и хорошо, если есть ленточная библиотека для резервных копий или иное хранилище, куда можно сбросить все «ненужное», дабы потом удалить навсегда. А если нет, то «публичная порка», в случае самовольной чистки «излишков», гарантирована. Так что же делать?

Во первых, и это главное по сути, на уровне руководства, т.е. директора, лучше — самого главного, делаем распоряжение о том, что, такая-то папка, на таком-то сервере, будет чистится, допустим каждый день, и файлы старше, допустим, двух недель, от туда будут удалятся.

ниже приведены сами скрипты
осталось создать файлы(разместить их в одном каталоге) и в скриптах обращаем внимание на пути и правим их по необходимости.

cleaner.bat

echo off
rem # указываем в какой кодировке будем работать, т.к. имена файлов могут быть на русском языке, используем соответствующую кодировку
rem chcp 1251
cls
echo.
rem # задаем глобальные переменные
rem # название Директории которую будем чистить
set BASED=test
rem # директория куда валятся все старые файлы
set TODIR=testarh
set ROOLFILE=g:\%BASED%\! -= ВНИМАНИЕ - ПРАВИЛА =-\ЧИТАТЬ ВСЕМ.txt
rem # чистим старые файлы
echo *
echo * Clearing "g:\%TODIR%"
rem rd /S /Q "g:\%TODIR%"
rem # создаем новый каталог
MKDIR "g:\%TODIR%"
rem # создаем дерево каталогов, чтобы пользователи могли найти свои файлы
echo *
echo * Creating tree folder copy of "g:\%BASED%" in "g:\%TODIR%"
xcopy "g:\%BASED%" "g:\%TODIR%" /T /E
rem # переносим файлы старше 1 дня
echo *
echo * Mooving old files
forfiles /P "g:\%BASED%" /S /D -1 /C "cmd /c if @isdir==FALSE g:\mover.bat @relpath"
rem # записываем правила на место
echo "----- Папка для обмена -----" > "%ROOLFILE%"
echo. >> "%ROOLFILE%"
echo Данный ресурс предназначен только для обмена информацией между пользователями. >> "%ROOLFILE%"
echo. >> "%ROOLFILE%"
echo Хранить свои файлы в данной папке запрещено. >> "%ROOLFILE%"
echo. >> "%ROOLFILE%"
echo Это означает, что файлы, записанные в данную папку, должны быть удалены после копирования. >> "%ROOLFILE%"
echo. >> "%ROOLFILE%"
echo Файлы, дата изменения которых превышает 2-х недельный срок, будут удаляться, предварительно они будут перемещаться в папку "---- DEL", которая находится на уровень выше. >> "%ROOLFILE%"
echo. >> "%ROOLFILE%"
echo Очистка папки будет происходить ежедневно, ночью, соответственно "вчерашние файлы" будут доступны в папке "---- DEL". >> "%ROOLFILE%"
echo. >> "%ROOLFILE%"
rem # в лог вписываем удачный перенос
echo %date% - %time% - compleated >> cleaner.log
rem # если перенос сбился, возникла ошибка или еще чего произошло, по данным лога можно определить хотя бы дату и время, когда система встала

mover.bat

echo off
rem # берем путь и имя файла для перемещения
set QWSD= %1
set QWSD=%QWSD:"=%
set QWSD=%QWSD%0
set QWSD=%QWSD:~1,-1%
rem # в процессе просмотра работы скрипта, при копировании каждого файла в окне будет выводится знак *
echo *
rem # копируем файл в папку под удаление
copy "g:\%BASED%%QWSD%" "g:\%TODIR%%QWSD%" /Y
rem # удаляем файл в оригинальном месте
del /F /Q "g:\%BASED%%QWSD%"
echo.

дальше уже думаем что и как делать со старыми файлами.
ниже ссылка на готовые файлы.
bat_files