아래 표시된 것처럼 소스 디렉토리 아래에서 원하는 대상으로 복사하고 싶습니다.
소스 디렉토리 :
--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
더미에서 각각 특정 마지막 수정 날짜를 가진 파일을 포함
대상 디렉토리는 다음과 같다고 가정합니다.
--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)
지금까지 here 을 참조하면 다음과 같은 결과가 나왔습니다.
$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를 사용 하여이 작업을 수행하고 싶습니다)
Copy-Item
우리가 이것을하고 있기 때문에 대신에 대신 사용 하는 것이 좋습니다Powershell
.