У меня есть две папки, синхронизированные с robocopy (src и mirror), и я стараюсь не удалять файлы в зеркале раньше 30 дней. Я пробовал с /MINAGE
возможность сказать «рассматривать все файлы старше 30 дней», чтобы он удалял только файлы 30-дневной давности в зеркале, но кажется, что он воздействует только на доступные файлы (не удаляется).
robocopy /MIR /MINAGE:30 /SD:src /DD:mirror
В общем, если я создам новый файл, он будет правильно синхронизирован с зеркалом (другой задачей robocopy, которая вообще не удаляет файлы); и если на следующий день после того, как я его удалю, файл будет удален и в зеркале при выполнении предыдущей команды. Подводя итог, я хочу удалить файлы, удаленные в папке src и старше 30 дней в зеркале.
Я что-то упускаю ?
Спасибо.
Я не знаю, как это сделать с помощью robocopy, но когда я хотел сделать то же самое, что и вы, я помещал эту строку в свой командный файл:
forfiles -p %_BACKUPPATH% -m *.rar -d -3 -c "cmd /c del @path"
Рассечение - это:
forfiles
- Программа для фильтрации файлов-p %_BACKUPPATH%
- -p
указывает "путь" (мой %_BACKUPPATH%
но вы можете заменить его на «настоящий» путь), в противном случае он использует текущий каталог-m *.rar
- фильтр по типу файла .rar
, пропустите этот параметр для *.*
-d -3
- Влияет только на файлы старше 3 дней (-3
)-c "cmd /c del @path"
- что-нибудь после -c
то, что будет выполняться для каждого найденного файла, в этом случае del
.