2013-07-19 4 views
1

Я хочу разработать скрипт, который копирует, проверяет и удаляет из одного сетевого расположения в другое (файлы старше x дней).Скопируйте, проверьте, а затем удалите файлы/дети из сетевого местоположения

Вот мой алгоритм:

Recursively traverse a network location ($movePath) 
for all files $_.LastWriteTime >= x days | forEach { 
    xcopy or robocopy $FileName = $_.FullName.Replace($movePath, $newPath) 
    if (the files where written correctly) { 
    (delete) Remove-Item $Filename from $movePath 
    } 

Могу ли я комбинировать xcopy /v (проверить) с Robocopy?

ответ

3

Вы хотите сохранить структуру подпапки (т. Е. Файлы из подпапки в источнике попадают в одну и ту же подпапку в пункте назначения)? Если да, то это должно быть достаточно:

$src = 'D:\source\folder' 
$dst = '\\server\share' 
$age = 10 # days 

robocopy $src $dst /e /move /minage:$age 

robocopy может обрабатывать проверки (выполняется автоматически) и удаление само по себе.

+0

спасибо, я ценю ответ –

+0

и как насчет того, если я хочу вести журнал движения? Создает ли robocopy? –

+0

Будет ли это работать? robocopy $ src $ dst/e/move/minage: $ age/LOG +: $ logFile –