Командлет Copy-Item должен копировать только разницу - PullRequest
1 голос
/ 18 мая 2011

Я пишу резервную копию с использованием powershell. Я знаю, что я мог бы просто использовать robocopy или rsync, но я хотел бы сделать это в powershell. У меня проблема с командлетом copy-item. Что делает мой сценарий:

  • Чтение вар и заполнение их из CSV
  • Pings host host
  • Проверяет, открыт ли Outlook на исходном хосте, и запрашивает, закрывать ли его
  • Затем следует скопировать несколько папок в место назначения

Моя проблема в том, что он всегда делает полную копию всех файлов. Я хотел бы, чтобы он копировал только файлы, которые были изменены или не существуют в месте назначения.

Вторая проблема, с которой я столкнулся, заключается в том, что в Win7 в «Пользователи / Документы» есть скрытые системные папки, которые ссылаются на «Мои рисунки» и «Мои видео». Мне не нужно их копировать, но мне не удалось исключить их, используя исключающий метод.

1 Ответ

2 голосов
/ 18 мая 2011

Просто быстрое и общее предложение ...

  • Я бы хотел скопировать только те файлы, которые были изменены

    Я бы скопировал файлы, сравнивая дату изменения источника и места назначения

  • Вторая проблема, с которой я столкнулся, заключается в том, что в Win7 есть скрытые системные папки в «Пользователи / документы», которые ссылаются на «Мои рисунки» и «Мои видео». Мне не нужно их копировать, но мне не удалось исключить их, используя исключающий метод. :

    Не используйте copy-item напрямую, но используйте вывод get-childitem без параметра force. Это предотвратит копирование скрытых или системных файлов.

...