Я хочу скопировать из исходного каталога dir нужное место назначения, как показано ниже.
Источник dir:
--Dummy
----dirA (contain files last modified 2/7/2015)
----dirB (contain files last modified 3/7/2015)
----dirC (contain files last modified 18/7/2015)
----dirD (contain files last modified 18/7/2015)
----dirE (contain files last modified 2/7/2015)
каждый dir
в Dummy содержит файлы с определенной датой последнего изменения
Пункт назначения dir, предположим, выглядит следующим образом:
--Dummy2015-07-2
----dirA (contain files last modified 2/7/2015)
----dirE (contain files last modified 2/7/2015)
--Dummy2015-07-3
----dirB (contain files last modified 3/7/2015)
--Dummy2015-07-18
----dirC (contain files last modified 18/7/2015)
----dirD (contain files last modified 18/7/2015)
пока, ссылаясь здесь, мне удалось получить что-то вроде этого:
$sourcePath = 'c:/dummy'
$destPath = 'e:/dummy'
Get-ChildItem -recurse -Path $sourcePath | Group {$_.LastWriteTime.ToString("yyyy-MM-dd")} |
Foreach-Object{
$folder = New-Item -Path "$($destPath)$($_.Name)" -ItemType Directory -Force
$_.Group | Where-Object { -not (Test-Path "$($folder.FullName)\$($_.Name)") } | Copy-Item -Destination $folder.FullName
}
но приведенный выше код напрямую копирует файлы внутри директории исходного манекена, которые делают назначение таким образом:
--Dummy2015-07-2
----(all files from dirA & dir E)
--Dummy2015-07-3
----(all files from dirB)
--Dummy2015-07-18
----(all files from dirC & dirD)
(если возможно, хотел бы сделать это с помощью Robocopy)