Вы можете использовать функцию Robocopy. В Windows Vista и Windows 7 он используется по умолчанию, и вы можете загрузить его в Windows XP на веб-сайте Microsoft.
Если ваша Windows 64-битная, она даже перемещает файлы с длиной пути более 256 символов, в отличие от CTRL + C, CTRL + V в проводнике Windows (я не могу понять, почему). Чтобы увидеть справку программы, вы можете написать в командной строке DOS следующее (например, обычно вы не можете записать в корень):
robocopy /? > c:\robocopyhelp.txt
Используйте переключатели "/ MINAGE" для установки минимального возраста файла, который будет скопирован / перемещен, и "/ MAXAGE" для установки максимального возраста.
Я никогда не перемещал файлы раньше и никогда не пытался отфильтровать их по возрасту, но я думаю, что синтаксис должен быть (например, с диска F на G и только файлы 2011 года):
robocopy F:\ G:\ /MOVE /MAXAGE:20110101 /MINAGE:20111231
Плюс другие параметры, описанные в «robocopy /?». Обычно я добавляю «/ R: 0 / W: 0», чтобы он не пытался получить доступ к системным файлам (может помочь, если вы запускаете пакетный файл с правами администратора) 1 миллион раз, при этом время ожидания каждого системного файла составляет 2 секунды не может копировать / перемещать (2 миллиона секунд или 23 дня только для pagefile.sys и hiberfil.sys). А переключатель «/ A-: H» позволяет скрыть скрытые файлы.
Имейте в виду также наличие NTFS-соединений (бесконечный цикл в каталоге C: \ users) и зашифрованных каталогов и используйте соответствующие ключи.